ホームページ  >  記事  >  バックエンド開発  >  Redis PHP クライアント

Redis PHP クライアント

WBOY
WBOYオリジナル
2016-06-23 14:32:54850ブラウズ

Redis は、C、Java、PHP、Python など、多くの種類のクライアントをサポートしています。この記事では、主に PHP クライアントのインストールと使用方法を紹介します。


Redis のクライアントは、実際には、ネットワーク プロトコルを介して Redis サーバーと通信するプロセスを担当します。これにより、顧客の呼び出しが特定の言語の使用習慣とより一致するように、通信プロセスはプロトコル仕様に従う必要があります。既存の PHP クライアント: rediska、phpredis、Predis、Redisent。これらの欠点の中には、純粋な PHP 実装ソリューションとバイナリ バージョンの実装ソリューションがあります。


公式に提供されている PHP クライアントのリストは次のとおりです:



機能比較



predis

phpredis

レディスカ

拡張が簡単

?


?

クライアント戦略とハッシュアルゴリズムの定義

?


?

実装方法

Pure PHP

PHP拡張子(C言語)

Pure PHP

テストデータ(ローカル環境)

18900 SETキーと値の両方に 12 バイトを使用して / 秒

まったく同じ値を取得する場合は 18300 GET/秒

_KEYS *_.

キーと値の両方に 12 バイトを使用して 30000 個のキーをフェッチするのに 0.210 秒value

30000 GET/秒 (まったく同じ値を取得しながら)

"KEYS *"" を使用して 30000 個のキーを取得するのに 0.037 秒。


テスト結果 (ネットワーク環境下)

両方のキーに 12 バイトを使用して 3150 SET/秒、

GET/秒で 3150 GET/秒、「KEYS *」を使用して 30000 個のキーをフェッチするのにまったく同じ

0.212 秒かかりました。

両方のキーに 12 バイトを使用して 3300 SET/秒




とまったく同じものを取得するのに

30000 個のキーを取得するのに
3300 GET/秒。


/*---------------------- プレディス --------------------- -------*/


Predis


Predis は、Redis をサポートする柔軟で機能が充実した (PHP>5.3) PHP クライアントです。現在のバージョンは 0.6.3 ですが、デフォルトでは PHP5.2 をサポートしていません。

主な機能は次のとおりです:

Redis 1.2 から 2.4 を完全にサポートし、現在開発中のバージョンをサポートします。

クライアントによって実装される一貫したハッシュ アルゴリズムを提供し、カスタマイズをサポートします。コマンド パイプライン; (単一接続および集約接続でのコマンド パイプライン)

TCP/IP または Unix ドメイン ソケットを介して Redis に接続でき、永続的な接続をサポートします

最初にコマンドが発行されたときに接続を実行します

クライアントのコマンド セットを柔軟に定義できます


/*-------------- ---------- ---- phpredis ------------------------* /


phpredis


これはバイナリバージョンです。 によると、PHP クライアントは Predis よりも効率的です。このバージョンではハンドラーをセッションとしてサポートします。この拡張機能の利点は、外部ファイルをロードする必要がないため、使いやすくなることです。デメリットは拡張が難しく、普通のPHPプログラマーは拡張できないことです。 Redis が急速な開発過程にあることを考慮すると、拡張機能の欠如は依然として一定の影響を及ぼしており、メンテナンス プロセス中のアップグレードや更新に注意を払う必要があります。


XAMPP インストールを Max に統合します (XAMPP 開発環境が必要です)


sudo /Applications/XAMPP/xamppfiles/bin/phpize

sudo MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS="-arch i 386 - アーチ x86_64 - g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch i386 - Arch x86_64 -bind_at_load" ./configure --with-apxs=/Applications/XAMPP/xamppfiles/bin/apxs --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config

sudo make

sudo make install

その後、php.ini を変更してサービスを再起動します。


サンプルコード


echo 'phpredisサンプル:
';


error_reporting(E_ALL);

ini_set('display_errors', ' オン');


$redis = new Redis();

$redis->connect('127.0.0.1',6379);

$redis->set('first_key_phpredis', ' Hello world');

);


/*-------- レディスカ ----------- -- ------------------*/


Rediska


rediska はまだベータ段階です。彼のコードは github でホストされており、簡単に入手できます。また、PEAR版も提供されているので、入手やインストールが非常に便利です。 PEAR パッケージを使用してインストールできます。


この記事では、Mac 上で XAMPP が提供する PEAR をインストールに使用します。まずチャンネルアドレスを追加します:


localhost:bin shiqiang$ sudo ./pear channel-discover pear.geometria-lab.net

パスワード:

チャンネル「pear.geometria-lab.net」の追加に成功しました

チャンネル「pear.geometria-lab.net」の検出に成功しました

それからインストールしてください

localhost:bin shiqiang$ sudo ./pear channel-discover pear.geometria-lab.net

パスワード:

チャンネルの追加「pear.geometria-lab.net」は成功しました

チャネル「pear.geometria-lab.net」の検出は成功しました

localhost:bin shiqiang$ sudo ./pear install geometria-lab/Rediska-beta

不明なリモート チャネル: pear .zfcampus.org

オプションの依存関係をダウンロードしませんでした: channel://pear.zfcampus.org/zf、--alldeps を使用して自動的にダウンロードします

geometria-lab/Rediska はオプションでパッケージ「channel://pear.org」を使用できます。 zfcampus .org/zf" (推奨バージョン 1)

Rediska-0.5.6.tgz をダウンロード中 ...

Rediska-0.5.6.tgz (116,203 バイト) のダウンロードを開始しています

.... .. ......done: 116,203 bytes

install ok: channel://pear.geometria-lab.net/Rediska-0.5.6

インストールが完了したら、 Rediska の PEAR パッケージがローカル ディレクトリ環境ですでに利用可能であることがわかります

localhost:XAMPP shiqiang$ sudo find . -name 'Redis*'

./xamppfiles/lib/php/pear/data/Rediska

./xamppfiles/lib/php/pear/doc/Rediska

./xamppfiles/lib/php/pear/Rediska

./xamppfiles/lib/php/pear/Rediska/Options/RediskaInstance.php

./xamppfiles /lib/php/pear/Rediska/Zend/Application/Resource/Rediska.php

./xamppfiles/lib/php/pear/Rediska/Zend/Auth/Adapter/Redis.php

./xamppfiles/lib/php /pear/Rediska/Zend/Cache/Backend/Redis.php

./xamppfiles/lib/php/pear/Rediska/Zend/Log/Writer/Redis.php

./xamppfiles/lib/php/pear/Rediska/Zend/Queue/Adapter/Redis.php

./xamppfiles /lib/php/pear/Rediska/Zend/Queue/Adapter/Redis.php

/lib/php/pear/Rediska/Zend/Session/SaveHandler/Redis.php

./xamppfiles/lib/php/pear/Rediska .php

./xamppfiles/lib/php/pear/test/Rediska

./xamppfiles/lib/php/pear/test/Rediska/tests/library/Rediska

./xamppfiles/lib/php/pear/ test/Rediska/tests/library/Rediska/Options/RediskaInstanceTest.php

./ xamppfiles/lib/php/pear/test/Rediska/tests/library/RediskaTest.php

./xamppfiles/temp/pear/download/ Rediska-0.5.6

./xamppfiles/temp/pear/download/Rediska-0.5.6

0.5.6/library/Rediska

./xamppfiles/temp/pear/download/Rediska-0.5.6/library/ Rediska/Options/RediskaInstance.php

./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska/Options/RediskaInstance.php

6/library/Rediska/Zend/Application/Resource/Rediska .php

./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska/Zend/Auth/Adapter/Redis.php

./ xamppfiles/temp/pear/download/Rediska-0.5.6 /library/Rediska/Zend/Cache/Backend/Redis.php

./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska/Zend /Log/Writer/Redis.php

./xamppfiles /temp/pear/download/Rediska-0.5.6/library/Rediska/Zend/Queue/Adapter/Redis.php

./xamppfiles/temp/pear/download /Rediska-0.5.6/library/Rediska/Zend/ Session/SaveHandler/Redis.php

./xamppfiles/temp/pear/download/Rediska-0.5.6/library/Rediska.php

./xamppfiles/temp/pear/download /pear/download/Rediska-0.5. 6/tests/library/Rediska

./xamppfiles/temp/pear/download/Rediska-0.5.6/tests/library/Rediska/Options/RediskaInstanceTest.php

./xamppfiles



error_reporting(E_ALL);

ini_set('display_errors','ON');

$options = array(

'namespace' => 'アプリケーション_',

'サーバー' => array(

array('host' => '127.0.0.1', 'port' => 6379),

array('host' => '127.0.0.1', 'port' => 6380 ). key = new Rediska_Key ('first_key');

$key->setValue('first_value');

$get_value = new Rediska_Key('first_key');

print $get_value;// QƔhuícúnchƔdezhí


āi

1、zhīchí de shùúùuàng、lièbù z、hashè jƐē) .

2、ě íěī De zhƐngìng Key C úgúnchƔƔƔƔƔ zàinƎtáifúwùqìshàng.


cānkƎozīliào:

1、http://rediska .geometria-lab.net/


2、Reids どの PHP モジュールを使用するか

3、PHP Redis

4、móbàiRedis

5、rediskèhùduān predisyƔphpredis bàjiào

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。