スレーブ redis を接続しました。なんてばかげた間違いでしょう -_-!!!
ここで学んだことは、クライアント コードに飛び込む前に、常にサーバーの状態を確認する必要があるということです。
私はphpアプリでredisを使用しようとしています.googleの結果として、私はphpredisを選択します. 接続を確立し、 によって redis 情報を正常に取得しましたが$this->_redis->info()
、値を設定できませんでした。ここにいくつかのソフトウェア情報があります:
php : 5.5.19 x64 thread safe
framework : CodeIgniter(sorry I don't know where to get version info)
redis : 2.8.15
phpredis : php_redis-2.2.7-5.5-ts-vc11-x64
また、ヘルパー クラスには接続構成と関数が含まれています。
class Redis_Module{
private $_redis;
function __construct(){
$this->ci = & get_instance();
$redis_connection_array = $this->ci->config->item('redis_connection_array');
$this->_redis = new Redis();
$this->_redis->connect($redis_connection_array['host'],$redis_connection_array['port']);
$this->_redis->auth($redis_connection_array['password']);
}
function info(){
return $this->_redis->info();
}
function get($key){
return $this->_redis->get($key);
}
function set($key, $value){
return $this->_redis->set($key, $value);
}
}
これら 3 つの関数を呼び出すと、redis 情報を正常に取得できますが、set('foo', 'bar') と get('foo') 関数の両方が false を返します。特に get('an_existing_key') は、redis にキャッシュされた正しい情報を返します。 .
$redis_client = new Redis_Module();
$msg1 = $redis_client->set('foo', 'bar');
$msg2 = $redis_client->get("foo");
$msg3 = $redis_client->get("an_existing_key");
$msg4 = $redis_client->info();
私はphpに慣れていないので、重要な設定や何かが欠けていますか?