Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/redis-command-role.html

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