CLUSTER NODES 返回当前集群的节点配置信息,输出为文本格式,每行代表一个节点。<node-id> <ip:port@cport[,hostname]> <flags> <master-id> <ping-sent> <pong-recv> <config-epoch> <link-state> <slot> <slot> ... <slot>
字段 | 说明 |
node-id | 节点唯一标识(40字符十六进制字符串) |
ip:port@cport | 节点客户端连接地址和集群总线端口 |
flags | 节点标志,逗号分隔(如 myself,master、slave) |
master-id | 若为副本节点,则为其主节点 ID;主节点显示为 - |
ping-sent | 当前活跃 PING 消息发送的 Unix 毫秒时间戳,无挂起 PING 则为0 |
pong-recv | 最后一次收到 PONG 的 Unix 毫秒时间戳 |
config-epoch | 节点的配置纪元编号 |
link-state | 集群总线连接状态: connected 或 disconnected |
slot | 该节点负责的哈希槽编号或范围(如 0-5460),副本节点无此字段 |
127.0.0.1:6379> CLUSTER NODES
4c5bef442ee294489c57cdd1**************** 10.0.0.5:6379@16379 myself,master - 0 1691234567000 1 connected 0-5460a1b2c3d4e5f6a7b8c9d0e1f2**************** 10.0.0.5:6379@16379 master - 0 1691234567000 2 connected 5461-10922f0e1d2c3b4a5f6e7d8c9b0a1**************** 10.0.0.5:6379@16379 master - 0 1691234567000 3 connected 10923-16383
标志 | 含义 |
myself | 当前连接的节点自身 |
master | 主节点 |
slave | 副本节点 |
fail? | 疑似故障状态(PFAIL),节点在多数主节点视图中不可达 |
fail | 已确认故障状态(FAIL),集群已对该节点进行故障转移 |
handshake | 握手阶段节点,尚未完成加入流程 |
noaddr | 地址未知 |
nofailover | 从节点进入 takeover 状态 |
noflags | 无任何标志 |
CLUSTER SLOTS 返回哈希槽到节点的映射关系,以数组形式输出每个槽位范围及其对应节点。CLUSTER SLOTS 命令自 Redis 7.0.0 / Valkey 7.0 起已标记为弃用(deprecated),推荐使用 CLUSTER SHARDS 命令替代。详见下方 CLUSTER SHARDS 说明。序号 | 内容 | 说明 |
1 | 起始槽位 | 整数,槽位范围起始编号(含) |
2 | 结束槽位 | 整数,槽位范围结束编号(含) |
3 | 主节点信息 | 数组:[IP, 端口, 节点 ID] |
4 | 第一个副本信息 | 数组:[IP, 端口, 节点 ID] |
5+ | 后续副本信息 | 数组:[IP, 端口, 节点 ID](若有多副本) |
127.0.0.1:6379> CLUSTER SLOTS
1) 1) (integer) 02) (integer) 54603) 1) "10.0.0.5"2) (integer) 63793) "4c5bef442ee294489c57cdd1****************"4) 1) "10.0.0.5"2) (integer) 63793) "d4e5f6a7b8c9d0e1f2a3b4c5****************"2) 1) (integer) 54612) (integer) 109223) 1) "10.0.0.5"2) (integer) 63793) "a1b2c3d4e5f6a7b8c9d0e1f2****************"4) 1) "10.0.0.5"2) (integer) 63793) "e5f6a7b8c9d0e1f2a3b4c5d6****************"3) 1) (integer) 109232) (integer) 163833) 1) "10.0.0.5"2) (integer) 63793) "f0e1d2c3b4a5f6e7d8c9b0a1****************"4) 1) "10.0.0.5"2) (integer) 63793) "b8c9d0e1f2a3b4c5d6e7f8a9****************"
CLUSTER SHARDS 自 Redis 7.0.0 / Valkey 7.0 起引入,返回以分片(Shard)为维度的集群拓扑信息,是 CLUSTER SLOTS 的现代替代。相比 CLUSTER SLOTS,该命令返回结构更清晰,且包含更丰富的节点元数据。字段 | 说明 |
slots | 该分片服务的槽位范围列表(起止整数对) |
nodes | 节点信息数组,每个节点包含详细属性 |
属性 | 说明 |
id | 节点唯一 ID |
endpoint | 客户端连接端点(IP 或 hostname) |
ip | 节点 IP 地址 |
port | TCP 端口 |
tls-port | TLS 端口(若启用) |
role | 复制角色: master 或 replica |
replication-offset | 复制偏移量 |
health | 健康状态: online、failed 或 loading |
127.0.0.1:6379> CLUSTER SHARDS
1) 1) "slots"2) 1) (integer) 02) (integer) 54603) "nodes"4) 1) 1) "id"2) "4c5bef442ee294489c57cdd1****************"3) "port"4) (integer) 63795) "ip"6) "10.0.0.5"7) "endpoint"8) "10.0.0.5"9) "role"10) "master"11) "replication-offset"12) (integer) 123413) "health"14) "online"2) 1) "id"2) "d4e5f6a7b8c9d0e1f2a3b4c5****************"3) "port"4) (integer) 63795) "ip"6) "10.0.0.5"7) "endpoint"8) "10.0.0.5"9) "role"10) "replica"11) "replication-offset"12) (integer) 123413) "health"14) "online"
CLUSTER NODES 和 CLUSTER SLOTS 一致,所有节点的 ip 和 endpoint 字段均返回实例 Proxy VIP 地址。CLUSTER SLOTS 或 CLUSTER SHARDS 获取拓扑信息,据此建立到各分片的直连。在分布式缓存数据库集群架构下,由于返回的 IP 均为 Proxy VIP,客户端实际建立的所有连接均指向 Proxy 代理层,Proxy 负责将请求路由到正确的分片。对比项 | 开源 Redis Cluster | 分布式缓存数据库集群架构 |
返回节点 IP | 各分片真实 IP | 统一为 Proxy VIP 地址 |
客户端直连分片 | 支持 | 不支持(统一经过 Proxy) |
-MOVED 重定向 | 指向目标分片 IP | 指向 Proxy VIP |
-ASK 重定向 | 指向迁移目标 IP | 指向 Proxy VIP |
命令 | Redis 引擎 | Valkey 引擎 | 架构要求 |
CLUSTER NODES | 所有版本 | 8.0+ | 集群架构 |
CLUSTER SLOTS | 所有版本(7.0+ 已弃用) | 8.0+(已弃用) | 集群架构 |
CLUSTER SHARDS | 7.0+ | 8.0+ | 集群架构 |
CLUSTER SHARDS(7.0+/Valkey 8.0+),获取更丰富的节点元数据和更清晰的返回结构。CLUSTER SLOTS 的客户端可继续使用,功能不受影响。CLUSTER NODES 适用于查看集群节点状态和拓扑概览,但请注意 IP 信息已被替换。CLUSTER SHARDS,建议升级到较新版本。文档反馈