Redis 高可用与集群模式命令详解【Cluster vs Sentinel 全面对比】

非常好,你提到的关键点是正确的:Redis Cluster 与 Redis Sentinel 是两种完全不同的高可用架构体系,对应命令也截然不同。我们现在将 Redis 集群(Cluster)与哨兵(Sentinel)模式的命令做出清晰区分、分类整理和详细补全,作为 Redis 高可用场景下最权威的运维命令参考。


🔟 Redis 高可用与集群模式命令详解【Cluster vs Sentinel 全面对比】


🧩 一、Redis Cluster 模式命令(原生分布式分片)

📌 1. 节点信息与分布查询

命令说明示例
CLUSTER NODES查看当前节点的拓扑视图CLUSTER NODES
CLUSTER SLOTS查看槽位与节点分配CLUSTER SLOTS
CLUSTER INFO集群状态信息(状态、槽分布)CLUSTER INFO

⚙️ 2. 槽位管理(分片)

命令说明示例
CLUSTER KEYSLOT <key>查看某 key 所属槽位CLUSTER KEYSLOT mykey
CLUSTER ADDSLOTS <slot> [slot ...]添加槽位CLUSTER ADDSLOTS 0 1 2
CLUSTER DELSLOTS <slot> [slot ...]删除槽位CLUSTER DELSLOTS 0
CLUSTER SETSLOT <slot> IMPORTING <node_id>设置槽导入状态CLUSTER SETSLOT 0 IMPORTING 123...
CLUSTER SETSLOT <slot> MIGRATING <node_id>设置槽迁出状态-
CLUSTER SETSLOT <slot> NODE <node_id>将槽绑定到节点-

🔁 3. 主从切换与故障处理

命令说明示例
CLUSTER FAILOVER发起主从切换(从节点执行)CLUSTER FAILOVER
CLUSTER FAILOVER TAKEOVER强制接管主节点CLUSTER FAILOVER TAKEOVER
CLUSTER FORGET <node_id>忘记某节点(用于移除故障节点)CLUSTER FORGET abc123...
CLUSTER REPLICATE <node_id>设置当前节点成为某主节点的从节点CLUSTER REPLICATE masterid

🧪 4. 诊断与重配置(一般通过 redis-cli 或 redis-trib / redis-cli --cluster 工具)

工具命令说明
redis-cli --cluster check host:port检查集群健康状态
redis-cli --cluster fix host:port修复不一致槽位或配置
redis-cli --cluster reshard进行手动槽位迁移
redis-cli --cluster add-node添加新节点
redis-cli --cluster del-node删除节点

👁 二、Redis Sentinel 模式命令(哨兵监控主从 + 自动切换)

📡 1. 哨兵自身信息

命令说明示例
SENTINEL masters获取所有被监控的主节点信息SENTINEL masters
SENTINEL slaves <master-name>获取某主节点的所有从节点信息SENTINEL slaves mymaster
SENTINEL sentinels <master-name>获取监控某主的其他 SentinelSENTINEL sentinels mymaster
SENTINEL get-master-addr-by-name <master-name>获取某主节点的 IP 和端口SENTINEL get-master-addr-by-name mymaster

🔁 2. 主从故障切换

命令说明示例
SENTINEL failover <master-name>手动强制主从切换SENTINEL failover mymaster
SENTINEL monitor <name> <ip> <port> <quorum>添加主节点监控配置SENTINEL monitor mymaster 127.0.0.1 6379 2
SENTINEL set <name> <option> <value>设置 Sentinel 的相关配置项SENTINEL set mymaster down-after-milliseconds 5000
SENTINEL remove <name>移除对某主节点的监控SENTINEL remove mymaster

🔒 3. 典型配置参数项(通过 sentinel.conf 或命令)

参数含义示例
down-after-milliseconds主机断线判断超时时间5000 毫秒
failover-timeout一次故障转移最大耗时通常 60000
parallel-syncs故障切换后并发同步从节点数一般为 1~2

✅ 总结:Sentinel vs Cluster 对比速查表

对比项Redis Sentinel 模式Redis Cluster 模式
高可用机制哨兵探测 + 自动主从切换主从节点 + 分布式协议
数据分片❌ 不支持,所有节点数据一致✅ 分片存储,16384 槽位
故障切换单主自动切换主故障后从节点接管槽位
使用场景单实例扩展、高可用但不分片分布式高可用+横向扩容
客户端要求普通客户端即可需支持 Cluster 协议
命令兼容性100% Redis 原生命令不支持部分命令(如 keys *)

📚 参考文档(官方链接)


如需我进一步补充 Redis Cluster 的完整部署/扩容/缩容自动化脚本、Sentinel 模式主从切换诊断流程、结合 Kubernetes Operator 的高可用自动化方案,也可以继续整理。是否需要?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值