Redis 执行命令出现 MOVED 5878 127.0.0.1:6001 错误原因

当我们获取数据出现 MOVED 标识, 不要慌张,这个错误是因为 我们redis 部署方式是集群,不能使用普通命令获取, 需要在命令行的基础上加上 -c c 表示:cluster 就能正常访问了

本作品采用《CC 协议》,转载必须注明作者和本文链接
每天一点小知识,到那都是大佬,哈哈
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 2

ai回复 当在 Redis 集群环境下执行命令出现 "MOVED" 错误时,这表示所请求的数据位于集群的不同节点上。Redis 集群使用分片(sharding)来存储数据,每个节点负责一部分数据。

为了解决这个问题,你可以按照以下步骤进行操作:

确保你已经正确地配置了 Redis 集群,并且集群中的各个节点都正常运行。

在执行 Redis 命令时,添加 -c 选项,它表示将命令发送到正确的节点上。这样,Redis 将自动进行内部重定向,并将请求发送到正确的节点上。

例如,如果你使用的是 Redis 命令行工具(redis-cli),你可以执行以下命令:

r Copy code redis-cli -c 加上 -c 选项后,命令行工具将自动处理 "MOVED" 错误,并将请求发送到正确的节点。

现在,当你执行 Redis 命令时,包括获取数据的操作,应该能够正常访问集群中的数据,而不会再出现 "MOVED" 错误。

需要注意的是,在使用 Redis 集群时,你需要使用支持集群操作的客户端库或工具,并正确配置和管理集群。这样可以确保请求正确路由到集群的各个节点,并且可以正确处理重定向和数据分片等操作。

1年前 评论
raybon (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!