我连接了slave redis,多么愚蠢的错误-_-!!!
需要学习的是,在进入客户端代码之前,我们应该始终检查服务器状态。
我正在尝试在 php 应用程序中使用 redis,作为谷歌的结果,我选择了 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,所以我错过了任何关键配置或其他任何东西吗?