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 |