我连接了奴隶redis,这是一个多么愚蠢的错误-_- !!!
我们应该在跳转到客户端代码之前始终检查服务器状态。
我试图在php应用中使用redis,因为google结果,我选择了phpredis。我建立了连接,成功通过$this->_redis->info()
获得了redis信息,但未能设置任何值。这里有一些软件信息:
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);
}
}
当我调用这三个功能时,我可以成功获取redis信息,但两者都设置了(' foo',' bar')并得到(' 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,所以我错过了任何关键配置或其他任何内容吗?