Redis Cluster 操作命令

Redis Cluster 操作命令

一、看集群整体状态:cluster info

就像看车的仪表盘,告诉你集群现在是好是坏

字段 大白话解释
cluster_state ok=正常,fail=挂了
cluster_slots_assigned 已经分配出去的槽位数(总共16384)
cluster_slots_ok 正常工作的槽位数
cluster_known_nodes 集群里有多少个节点(包括主和从)
cluster_size 有多少个主节点(有槽位的)

二、看所有节点信息:cluster nodes

就像点名册,谁是谁、什么角色、管哪些槽,一目了然

输出示例:

text

复制代码
节点ID IP:端口 角色 主节点ID 状态 槽位范围
关键点 大白话
myself 当前我连的是这个节点
master 这个节点是主
slave 这个节点是从
connected 节点在线
0-1364 这个主节点管的槽范围

三、看槽位分配情况:cluster slots

告诉你有哪几个主节点,每个主管哪些槽,从节点是谁

输出格式:

text

复制代码
起始槽 结束槽
  主节点IP 端口 ID
  从节点IP 端口 ID

四、跟 key 相关的槽位操作

命令 大白话作用
cluster keyslot 你的key 看这个 key 属于哪个槽
cluster countkeysinslot 槽号 看这个槽里有多少个 key
cluster getkeysinslot 槽号 数量 看这个槽里的 key 列表(最多指定数量)

五、主从相关操作

命令 大白话作用
cluster replicas 主节点ID 查看这个主节点下面有哪些从节点
cluster replicate 主节点ID 让当前节点(从)去给指定主节点当备胎
cluster failover 从节点上执行,手动让备胎上位,切换成主

六、节点增删操作

命令 大白话作用
cluster meet IP 端口 拉一个新节点进集群
cluster forget 节点ID 把某个节点踢出集群(从自己视角)
cluster reset 清空当前节点的集群信息,变成白纸一张

⚠️ cluster forget 只是自己忘记它,要让所有人忘记它,需要在每个节点上都执行一遍。


七、槽位管理(核心)

命令 大白话作用
cluster addslots 槽号 把某个槽分给当前节点
cluster delslots 槽号 把某个槽从当前节点拿走
cluster flushslots 把当前节点所有的槽都清空
cluster setslot 槽号 node 目标节点ID 把槽直接挪给另一个节点

八、槽位迁移(搬数据)

把某个槽的数据从一个主节点搬到另一个主节点

四步走:

步骤 在哪个节点执行 命令 大白话
1 目标节点 cluster setslot 槽号 importing 源节点ID 目标节点说:我要接收这个槽
2 源节点 cluster setslot 槽号 migrating 目标节点ID 源节点说:我要搬出这个槽
3 源节点 migrate 目标IP 目标端口 key ... 把 key 一个个搬过去
4 任意节点 cluster setslot 槽号 node 目标节点ID 告诉所有人:这个槽正式归目标节点了

⚠️ 迁移过程中,正在搬的那个 key 会暂时不可用,其他 key 正常。


九、其他实用命令

命令 大白话作用
cluster saveconfig 手动保存集群配置到文件
cluster set-config-epoch 数字 设置节点的版本号(建集群时用)
cluster count-failure-reports 节点ID 看某个节点被多少人举报过有问题

十、一句话速记表

我想做什么 用什么命令
集群健康吗? cluster info
谁在集群里? cluster nodes
槽怎么分的? cluster slots
key 在哪个槽? cluster keyslot key
拉人进群 cluster meet IP 端口
踢人出群 cluster forget 节点ID
让备胎上位 cluster failover(从节点执行)
给主加备胎 cluster replicate 主ID(从节点执行)
搬槽位 cluster setslot + migrate
相关推荐
Shingmc34 分钟前
【Linux】多路转接之epoll
linux·运维·服务器·开发语言·网络
utf8mb4安全女神11 分钟前
⽇志管理与深层防⽕墙
java·开发语言·spring boot
better_liang11 分钟前
每日Java面试场景题知识点之-数据库与缓存的一致性
java·数据库·redis·面试·分布式系统·缓存一致性·cache aside
减瓦12 分钟前
Jackson 自定义反序列化器的类型不匹配陷阱
java·后端
Mr.Lu ‍14 分钟前
QT调试查看QT内部数据时显示无可用信息,未为 Qt5Cored.dll 加载任何符号
开发语言·qt
qq_4523962317 分钟前
第九篇:《Dockerfile 指令精讲(二):WORKDIR、ENV、ARG、EXPOSE》
java·开发语言·docker
JAVA社区19 分钟前
Java高级全套教程(九)—— SpringCloud超详细实战详解
java·开发语言·后端·spring cloud·面试·职场和发展
wyjcxyyy21 分钟前
java反序列化-cc1链
java·c语言·开发语言
山上三树21 分钟前
Python 高频报错速查表(开发通用版)
开发语言·python
garmin Chen22 分钟前
Elasticsearch(1):Elasticsearch核心原理与基础操作总结
java·大数据·笔记·elasticsearch·搜索引擎·全文检索