AWS Redis群集 - MOVE错误

时间:2018-01-12 19:04:24

标签: amazon-web-services redis redis-cluster

我尝试在AWS Redis群集上执行hmset命令,并且我收到以下“移动”错误。不确定发生了什么。

MOVED 7652 10.0.4.210:6379

from rediscluster import StrictRedisCluster

startup_nodes = [{"host": self.host, "port": self.port}]
client = StrictRedisCluster(startup_nodes=startup_nodes,
                                        decode_responses=True,
                                        skip_full_coverage_check=True)

client.hmset('my_key', {'abc':'123'})

2 个答案:

答案 0 :(得分:1)

在将数据分片并分布到集群中的不同节点时,应使用-c选项以能够在集群模式下连接到Redis。

在您的问题中,不知道您使用的是哪种类型的客户端库,但是,出于相同的概念,您需要使用支持cluster mode的库。这是list of client packages in nodejs

如果您试图获取数据,它将作为客户端将您重定向到保存所请求数据的正确分片/分区。

如果您有redis-cli,则可以尝试以下操作:

redis-cli -c -h {REDIS_HOST_OR_PORT} -p 6379 

如果已安装docker,则可以使用以下方法连接到群集:

docker run -ti --rm redis redis-cli -c -h {REDIS_HOST_OR_IP} -p 6379

答案 1 :(得分:0)

当您使用独立模式连接到redis群集中的一个节点时,会发生“MOVED”错误,并且您查询的数据位于群集中的其他节点上。

我不知道你的StrictRedisCluster是如何实现的,但是这个客户端确实存在错误。