0

スレーブ 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に慣れていないので、重要な設定や何かが欠けていますか?

4

0 に答える 0