AWS Redis 集群 - MOVE 错误

use*_*968 7 amazon-web-services redis redis-cluster

我尝试在 AWS Redis 集群上执行 hmset 命令,但出现以下“移动”错误。不知道发生了什么。

移动 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'})
Run Code Online (Sandbox Code Playgroud)

Muh*_*man 17

由于您的数据被分片并分布到集群中的不同节点,您应该使用-coption 以便能够以集群模式连接到 redis。

在您的问题中,不知道您使用的是哪种类型的客户端库,但是同样的概念,您需要使用支持cluster mode. 这是nodejs 中的客户端包列表

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

如果你有redis-cli,你可以试试这个:

redis-cli -c -h {REDIS_HOST_OR_PORT} -p 6379 
Run Code Online (Sandbox Code Playgroud)

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

docker run -ti --rm redis redis-cli -c -h {REDIS_HOST_OR_IP} -p 6379
Run Code Online (Sandbox Code Playgroud)


Sol*_*olo 1

当您以单机模式连接到redis集群中的一个节点,而查询的数据在集群中的其他节点上时,就会出现“MOVED”错误。

我不知道你是如何StrictRedisCluster实施的,但这个客户端肯定有问题。