角色

Syntax
ROLE
Available since:
2.8.12
Time complexity:
O(1)
ACL categories:
@admin, @fast, @dangerous,

提供关于Redis实例在复制上下文中角色的信息,通过返回实例当前是masterslave还是sentinel。该命令还返回关于复制状态的附加信息(如果角色是master或slave)或监控的主服务器名称列表(如果角色是sentinel)。

输出格式

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

  • "master"
  • "从属"
  • "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. 到目前为止从副本接收的数据量,以主复制偏移量表示。

哨兵输出

Sentinel输出的一个示例:

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

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

  1. 字符串 sentinel
  2. 此Sentinel实例监控的主名称数组。

示例

ROLE

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

RESP2/RESP3 回复

Array reply: where the first element is one of master, slave, or sentinel, and the additional elements are role-specific as illustrated above.
RATE THIS PAGE
Back to top ↑