MST

星途 面试题库

面试题:Redis集群重新分片自动化脚本开发之基础操作

在开发Redis集群重新分片的自动化脚本时,需要先获取Redis集群的节点信息。请描述使用Redis命令行工具(redis - cli)如何获取集群节点信息,并说明获取到的信息结构大概是怎样的。
18.0万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试
  1. 获取Redis集群节点信息的命令: 在Redis命令行工具(redis - cli)中,使用CLUSTER NODES命令可以获取Redis集群的节点信息。例如,如果你已连接到Redis集群的某个节点,可以直接在redis - cli中输入:
    CLUSTER NODES
    
  2. 获取到的信息结构: 获取到的信息是一个字符串,每行代表一个节点的信息,每个节点的信息由多个字段组成,字段之间以空格分隔。其大致结构如下:
    • <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;对于从节点,这里是其主节点负责的哈希槽的哈希值。