Redis集群设置,并没有在所有节点上发生

时间:2018-07-31 16:32:56

标签: redis

我是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>

2 个答案:

答案 0 :(得分:2)

  

我应该能够设置并使用集群中的任何节点。

您可以这样做,但是您必须转到正确的节点来设置给定密钥。

我建议您使用https://redis.io/topics/cluster-tutorial

来了解Redis群集的客户端和/或了解群集的工作方式,尤其是如何分片数据。

答案 1 :(得分:1)

  

我应该能够设置并使用集群中的任何节点。

是,不是。如@ItamarHaber所述,您只能在正确的节点上执行此操作。

但是,如果您想在使用redis-cli时自动自动找到正确的节点,则可以使用-c开关。

所以,而不是

# redis-cli

尝试

# redis-cli -c