Redis集群节点信息查看指南,科普分布式缓存架构原理

文章导读
查看Redis集群节点信息的核心命令是 CLUSTER NODES 和 CLUSTER INFO。在redis-cli中连接任意节点执行 redis-cli -c -h 主机 -p 端口 CLUSTER NODES,即可看到所有节点ID、IP:端口、标志(master/slave)、槽位范围等信息。分布式缓存架构原理:Redis Cluster将数据按CRC16(key)%16384哈希到1638
📋 目录
  1. Redis Cluster 节点信息详解
  2. 分布式Redis集群架构原理
  3. 如何查看Redis集群节点状态
  4. Redis Cluster数据分布原理
  5. 集群管理常用命令
  6. Redis分布式缓存高可用机制
A A

查看Redis集群节点信息的核心命令是 CLUSTER NODESCLUSTER INFO。在redis-cli中连接任意节点执行 redis-cli -c -h 主机 -p 端口 CLUSTER NODES,即可看到所有节点ID、IP:端口、标志(master/slave)、槽位范围等信息。分布式缓存架构原理:Redis Cluster将数据按CRC16(key)%16384哈希到16384个槽位,由多个master节点分担槽位,每个master可有slave复制,高可用时故障转移;客户端可重定向到正确节点,实现无中心化分布式缓存。

Redis Cluster 节点信息详解

使用 CLUSTER NODES 命令可以查看集群中所有节点的信息,输出格式为:节点ID 节点IP:端口@节点总线端口 myself,master/slave -0 0 节点开始时间节点ID签名槽位范围。myself表示当前连接的节点。标志位包括master、slave、fail、pfail等。CLUSTER INFO 显示集群状态如cluster_state:ok、cluster_slots_assigned等。

分布式Redis集群架构原理

Redis Cluster是一个分布式实现,具有自动分片、高可用、去中心化的特点。数据分片基于哈希槽(hash slot),总16384个槽。key使用CRC16哈希取模分配到槽上。集群节点间通过Gossip协议交换信息,心跳检测故障。每个master负责一部分槽,slave复制master数据,主从切换实现高可用。客户端需支持MOVED/ASK重定向。

如何查看Redis集群节点状态

1. 进入redis-cli:redis-cli -c -h 192.168.1.100 -p 7000
2. 执行:CLUSTER NODES
输出示例:
a1b2c3d... 192.168.1.100:7000@17000 myself,master - 0 0 1 connected 0-5460
3. CLUSTER INFO 查看整体状态。
4. 对于从节点,标志显示slave,并有master的节点ID。

Redis Cluster数据分布原理

Redis Cluster将键空间分成16384个哈希槽,每个节点负责一部分槽位。键的槽位由CRC16(key) % 16384计算。支持{tag}哈希标签,使相关键落同一槽。节点间通过二进制协议通信,维护集群状态。故障时,多数派机制选举新master,槽迁移保持平衡。

Redis集群节点信息查看指南,科普分布式缓存架构原理

集群管理常用命令

- CLUSTER NODES:列出所有节点
- CLUSTER INFO:集群信息
- CLUSTER SLOTS:槽位分配
- CLUSTER ADDSLOTS:添加槽位
- CLUSTER MEET:添加节点
示例:redis-cli --cluster check 127.0.0.1:7000 检查集群健康。

Redis分布式缓存高可用机制

每个master节点有至少一个slave节点异步复制数据。节点间每秒Gossip通信,检测故障(超时pfail→fail)。故障节点需多数节点确认fail,才触发选举。slave竞争成为新master,继承槽位。客户端通过MOVED重定向访问新节点。

FAQ
Q: 如何判断Redis集群是否健康?
A: 执行CLUSTER INFO,检查cluster_state:ok 和 cluster_slots_assigned:16384。
Q: CLUSTER NODES输出中myself是什么?
A: 表示当前连接的那个节点。
Q: 槽位不均衡怎么处理?
A: 使用redis-cli --cluster reshard 进行槽位重平衡。
Q: slave节点如何查看其master?
A: CLUSTER NODES中slave行有master节点ID。