我有一个具有以下节点的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)
文档说任何节点都可以将查询redirect到正确的节点。 但我不能redirect来自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
该节点确实redirect你。
正如文档解释,客户端需要连接到指定节点重试请求。 服务器不这样做。
如果您使用的是redis-cli ,那么如果您希望遵循这些redirect,则必须使用-c选项 。