面试题答案
一键面试- 获取Redis集群节点信息的命令:
在Redis命令行工具(redis - cli)中,使用
CLUSTER NODES
命令可以获取Redis集群的节点信息。例如,如果你已连接到Redis集群的某个节点,可以直接在redis - cli中输入:CLUSTER NODES
- 获取到的信息结构:
获取到的信息是一个字符串,每行代表一个节点的信息,每个节点的信息由多个字段组成,字段之间以空格分隔。其大致结构如下:
<node_id> <ip:port> <flags> <epoch> <master_node_id> <ping_sent> <pong_recv> <config_epoch> <link_state> <slot_range_or_hash_slot>
<node_id>
:节点的唯一标识符,是一个40位的十六进制字符串。<ip:port>
:节点的IP地址和端口号。<flags>
:节点的标志位,如myself
表示当前连接的节点,master
表示主节点,slave
表示从节点等。<epoch>
:节点的当前配置纪元,用于故障转移和配置更新。<master_node_id>
:如果该节点是从节点,这里是其主节点的节点ID;如果是主节点,这里是-
。<ping_sent>
:距离上次向该节点发送PING消息的时间(以毫秒为单位)。<pong_recv>
:距离上次从该节点接收到PONG消息的时间(以毫秒为单位)。<config_epoch>
:节点的配置纪元,用于确保集群配置的一致性。<link_state>
:节点连接状态,如connected
表示连接正常。<slot_range_or_hash_slot>
:对于主节点,这里是该节点负责的哈希槽范围,例如0-5460
;对于从节点,这里是其主节点负责的哈希槽的哈希值。