我正在尝试使用带有predis + phpiredis的redis群集,因为我看到phpiredis提高了性能。
这是我的PHP代码:
$cluster = [
'tcp://127.0.0.1:30001',
'tcp://127.0.0.1:30002',
'tcp://127.0.0.1:30003',
'tcp://127.0.0.1:30004',
'tcp://127.0.0.1:30005',
'tcp://127.0.0.1:30006',
];
$client = new Predis\Client($cluster,
[
'connections' => [
'tcp' => 'Predis\Connection\PhpiredisStreamConnection'
],
]
);
我收到以下错误:
致命错误:未捕获的异常'Predis \ Response \ ServerException',并在/var/www/html/predis-1.0/src/Client.php:365中显示消息“MOVED 6918 127.0.0.1:30002”。堆栈跟踪:#0 /var/www/html/predis-1.0/src/Client.php(330):Predis \ Client-> onErrorResponse(Object(Predis \ Command \ StringGet),Object(Predis \ Response \ Error))#1 / var /www/html/predis-1.0/src/Client.php(310):Predis \ Client-> executeCommand(Object(Predis \ Command \ StringGet))#2 /var/www/html/redisTests/predis.php( 52):Predis \ Client-> __ call('get',Array)#3 /var/www/html/redisTests/predis.php(52):Predis \ Client-> get('test')#4 {在线365上的/var/www/html/predis-1.0/src/Client.php中抛出
现在,如果我只设置前2个集群ips,它可以正常工作。有人可以解释一下怎么来的?
有人能告诉我什么是错的吗?是predis + phpiredis完全支持群集吗?
提前感谢您的帮助!