Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

Redis ROLE 命令

Redis 服务器 Redis 服务器


Redis ROLE 命令通过返回实例当前是 master,slave 还是 sentinel 来提供有关 Redis 实例在复制环境中的角色的信息。此命令还返回有关复制状态(如果角色是 master 或者 slave)或者监听的 master 名称列表(如果角色是 sentinel)的额外信息。

命令格式

ROLE

可用版本:>=2.8.12

对一个副本服务器执行命令 REPLICAOF NO ONE 将使得这个副本服务器关闭复制,并从副本服务器转变回主服务器,原来同步所得的数据集不会被丢弃。因此,当原主服务器停止服务,可以将该副本服务器切换为主服务器,应用可以使用新主服务器进行读写。原主服务器修复后,可将其设置为新主服务器的副本服务器。

命令返回值

返回内嵌列表。第一个元素是 master、slave、sentinel 之一,其余元素根据角色而定。

输出格式

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

  • "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. 当前哨兵实例监听的主节点名称数组。