ROLE

语法
ROLE
自版本
2.8.12
时间复杂度
O(1)
ACL 类别
@admin, @fast, @dangerous,

在复制上下文中,提供有关 Redis 实例角色的信息,通过返回实例当前是 主节点从节点哨兵 来实现。该命令还会返回有关复制状态的附加信息(如果角色为主节点或从节点)或监视的主节点名称列表(如果角色为哨兵)。

输出格式

该命令返回一个数组元素。第一个元素是实例的角色,可以是以下三个字符串之一:

  • "master"
  • "slave"
  • "sentinel"

数组的附加元素取决于角色。

主节点输出

在主节点实例中调用 ROLE 时,输出示例:

1) "master"
2) (integer) 3129659
3) 1) 1) "127.0.0.1"
      2) "9001"
      3) "3129242"
   2) 1) "127.0.0.1"
      2) "9002"
      3) "3129543"

主节点输出由以下部分组成:

  1. 字符串 master
  2. 当前主节点复制偏移量,这是一个主节点和从节点共享的偏移量,用于理解部分重新同步,即从节点需要获取复制流的哪一部分才能继续。
  3. 一个数组,包含三个元素的子数组,表示已连接的从节点。每个子数组包含从节点 IP、端口和最后确认的复制偏移量。

从节点上命令的输出

在从节点实例中调用 ROLE 时,输出示例:

1) "slave"
2) "127.0.0.1"
3) (integer) 9000
4) "connected"
5) (integer) 3167038

从节点输出由以下部分组成:

  1. 字符串 slave,为了向后兼容(参见本页末尾的说明)。
  2. 主节点的 IP。
  3. 主节点的端口号。
  4. 主节点角度的复制状态,可以是 connect(实例需要连接到主节点)、connecting(主节点-从节点连接正在进行中)、sync(主节点和从节点正在尝试进行同步)、connected(从节点在线)。
  5. 到目前为止,从主节点接收的数据量,以主节点复制偏移量表示。

哨兵输出

哨兵输出示例:

1) "sentinel"
2) 1) "resque-master"
   2) "html-fragments-master"
   3) "stats-master"
   4) "metadata-master"

哨兵输出由以下部分组成:

  1. 字符串 sentinel
  2. 此哨兵实例监视的主节点名称数组。

示例

ROLE

关于本手册页中使用 slave 一词的说明:从 Redis 5 开始,如果考虑向后兼容性,Redis 项目不再使用 slave 一词。不幸的是,在这个命令中,slave 一词是协议的一部分,因此我们只能在自然弃用此 API 时才能删除此类出现。

RESP2/RESP3 响应

数组响应:其中第一个元素是 masterslavesentinel 之一,而附加元素则是针对角色的特定元素,如上所述。
RATE THIS PAGE
Back to top ↑