我有一个包含以下节点的 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
答案1
答案2
对于获取命令你可能需要运行:
READONLY
首先作为下列之一可能会发生:
- 客户端发送了一条有关该副本主节点从未提供服务的哈希槽的命令。
- 集群已重新配置(例如重新分片)并且副本不再能够为给定的哈希槽提供命令。