我有一个包含以下节点的 Redis 集群:
192.168.0.14:6379 master (slots from 0 to 16383)
192.168.0.15:6379 slave (slots from 0 to 16383)
192.168.0.16:6379 master (without slots)
文档说任何节点都可以将查询重定向到正确的节点。但我无法重定向来自 192.168.0.16:6379 主节点的请求。这是我尝试过的:
192.168.0.16:6379> set myKey myValue
(error) MOVED 16281 192.168.0.14:6379
192.168.0.16:6379> get myKey
(error) MOVED 16281 192.168.0.14:6379
它既不写也不读。当我尝试从 192.168.0.14:6379 获取“myKey”时,它显示如下:
127.0.0.1:6379> get myKey
(nil)
我的请求有什么问题?我正在使用 redis 服务器版本 3.2.5
该节点确实重定向了您。
正如文档所解释的,客户端应该连接到指定的节点以重试请求。服务器不这样做。
如果您正在使用,那么如果您希望它遵循这些重定向
redis-cli
,则必须使用该-c
选项。对于获取命令,您可能需要运行:
首先,可能发生以下情况之一: