如何解决phpredis:错误:未知命令
我通过pecl将phpredis安装到了我的docker容器(与PHP-7.4.1-apache-buster一起运行):
RUN pecl install -f redis-5.3.1 && docker-php-ext-enable redis
我已连接到Redis服务器,但是对于所有命令,我都会得到: ERR:未知命令
$redis->select(1);
$redis->getLastError();
$redis->set('test','test');
$redis->getLastError();
$redis->get('test');
$redis->getLastError();
getLastError()返回的位置:
'ERR未知命令'SELECT'。'''
'ERR未知命令'SET'。'''
'ERR未知命令'GET'。'''
错误消息似乎包含一些错误编码的字符,这可能是导致问题的原因。
我已经尝试安装不同的版本:5.3.1和5.2.0,但是结果是相同的。
解决方法
已解决:
我们的Redis处于前哨模式:
$redis->info();
//"redis_mode": "sentinel",
这意味着我首先需要与RedisSentinel连接,然后获取主服务器地址,然后按如下所示连接到该主服务器:
// connect to sentinel
$sentinel = new RedisSentinel('ip','port',10);
// get the master ip and port you want to use
$address = $sentinel->getMasterAddrByName('your-master-name');
$redis = new Redis();
// connect to that master
$redis->pconnect($address[0],$address[1],10);
// select the db
$redis->select(1);
// ready
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。