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 個のキーを取得するのに |
/*---------------------- プレディス --------------------- -------*/ Predis Predis は、Redis をサポートする柔軟で機能が充実した (PHP>5.3) PHP クライアントです。現在のバージョンは 0.6.3 ですが、デフォルトでは PHP5.2 をサポートしていません。 主な機能は次のとおりです: Redis 1.2 から 2.4 を完全にサポートし、現在開発中のバージョンをサポートします。 クライアントによって実装される一貫したハッシュ アルゴリズムを提供し、カスタマイズをサポートします。コマンド パイプライン; (単一接続および集約接続でのコマンド パイプライン) TCP/IP または Unix ドメイン ソケットを介して Redis に接続でき、永続的な接続をサポートします 最初にコマンドが発行されたときに接続を実行します クライアントのコマンド セットを柔軟に定義できます 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
その後、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'); ); パスワード: チャンネル「pear.geometria-lab.net」の追加に成功しました
それからインストールしてください localhost:bin shiqiang$ sudo ./pear channel-discover 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/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.php6/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('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í
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/ 3、PHP Redis 4、móbàiRedis 5、rediskèhùduān predisyƔphpredis bàjiào
|