我是Redis的新手。
我有多个Redis实例正在运行。尝试设置密钥时,出现错误,显示为“ MOVED xxxx IP:port。
我应该能够设置并使用集群中的任何节点。有人可以帮我我所想念的吗?
root@redis-0:/# redis-cli
127.0.0.1:6379>
127.0.0.1:6379> set name1 Rock
(error) MOVED 12933 10.60.3.54:6379
127.0.0.1:6379>
127.0.0.1:6379>
root@redis-0:/#
root@redis-0:/# exit
root@redis-1:/#
root@redis-1:/# redis-cli
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> get name1
"deba"
127.0.0.1:6379>
127.0.0.1:6379> set name2 Tom
(error) MOVED 742 10.60.3.55:6379
127.0.0.1:6379>
127.0.0.1:6379> CLUSTER NODES
cbe713bf93c67adceed0d79e5b2d6a5a40b31625 10.60.3.53:6379@16379 master - 0 1533054504070 2 connected 5461-10922
2a65bcc6355cecb58df8d99dbee4da1fe4b5af70 10.60.3.55:6379@16379 master - 0 1533054502065 1 connected 0-5460
e7b5ff6bbb90cba775b1128f88de70c116ef18f6 10.60.3.54:6379@16379 myself,master - 0 1533054501000 3 connected 10923-16383
127.0.0.1:6379>
答案 0 :(得分:2)
我应该能够设置并使用集群中的任何节点。
您可以这样做,但是您必须转到正确的节点来设置给定密钥。
来了解Redis群集的客户端和/或了解群集的工作方式,尤其是如何分片数据。答案 1 :(得分:1)
我应该能够设置并使用集群中的任何节点。
是,不是。如@ItamarHaber所述,您只能在正确的节点上执行此操作。
但是,如果您想在使用redis-cli时自动自动找到正确的节点,则可以使用-c
开关。
所以,而不是
# redis-cli
尝试
# redis-cli -c