I have a Redis cluster with the following nodes:
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)
Documentation says that any node can redirect queries to the properly node. But I can not redirect requests from 192.168.0.16:6379 master node. Here is what I tried:
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
It neither writes nor reads. When I try to get "myKey" from 192.168.0.14:6379 it shows next:
127.0.0.1:6379> get myKey
(nil)
What is wrong with my requests? I am using redis server version 3.2.5
解决方法:
The node did redirect you.
As the documentation explains, the client is expected to connect to the specified node to retry the request. The server does not do this.
If you're using redis-cli
, then you must use the -c
option if you want it to follow these redirects.