我尝试在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'})
答案 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
是如何实现的,但是这个客户端确实存在错误。