我通过pecl将phpredis安装到了我的docker容器(使用PHP-7.4.1-apache运行):
RUN pecl install -f redis-5.3.1 && docker-php-ext-enable redis我连接到redis服务器,但是对于我获得的所有命令:错误:未知命令
$redis->select(1);
$redis->getLastError();
$redis->set('test', 'test');
$redis->getLastError();
$redis->get('test');
$redis->getLastError();,其中getLastError()返回:
‘'ERR未知命令’选择‘�’
‘'ERR未知命令'SET'�’
‘'ERR未知命令'GET'�’
看起来错误消息包含了一些错误编码的字符,这可能是问题的原因。
我已经尝试过安装不同的版本: 5.3.1和5.2.0,但是结果是一样的。
发布于 2020-08-21 08:31:20
已解决:
我们的红星正处于哨兵状态:
$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);
// readyhttps://stackoverflow.com/questions/63502536
复制相似问题