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
相关推荐
花间相见2 小时前
【大模型微调与部署01】—— ms-swift-3.12入门:安装、快速上手
开发语言·ios·swift
techdashen2 小时前
Rust 正式成立 Types Team:类型系统终于有了专属团队
开发语言·后端·rust
jiayong232 小时前
第 17 课:任务选择与批量操作
开发语言·前端·javascript·vue.js·学习
消失的旧时光-19432 小时前
Spring Boot 核心机制之 @Conditional:从原理到实战(一次讲透)
java·spring boot·后端
量子炒饭大师2 小时前
【C++11】RAII 义体加装指南 ——【包装器 与 异常】C++11中什么是包装器?有哪些包装器?C++常见异常有哪些?(附带完整代码讲解)
开发语言·c++·c++11·异常·包装器
石榴树下的七彩鱼2 小时前
智能抠图 API 接入实战:3 行代码实现图片自动去背景(Python / Java / PHP / JS)
java·图像处理·人工智能·python·php·api·抠图
telllong2 小时前
Python异步编程从入门到不懵:asyncio实战踩坑指南
开发语言·python
知兀2 小时前
【Result类】(使用/不使用<T> data的情况);自带静态方法、纯数据类;
java·开发语言
达帮主2 小时前
25.C语言 递归函数
c语言·开发语言·汇编