【问题标题】:AWS Redis Cluster - MOVE errorAWS Redis 集群 - MOVE 错误
【发布时间】:2018-06-22 06:52:37
【问题描述】:

我尝试在 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'})

【问题讨论】:

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


【解决方案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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-20
      • 2021-07-03
      • 1970-01-01
      • 2021-02-05
      • 2018-05-03
      • 2018-06-19
      • 1970-01-01
      • 2021-03-16
      相关资源
      最近更新 更多