阿里云自研的Proxy命令

在兼容原生Redis命令之外,云数据库Tair(兼容 Redis)实例还支持多个自研命令,可以在集群架构或读写分离架构实例中使用,帮助您更方便地管理集群架构或读写分离架构实例。

前提条件

通过代理模式(Proxy)访问实例。

自研命令说明

说明

本文的命令语法定义如下:

  • 大写关键字:命令关键字。

  • 斜体:变量。

  • [options]:可选参数,不在括号中的参数为必选。

  • A|B:该组参数互斥,请进行二选一或多选一。

  • ...:前面的内容可重复。

INFO KEY

命令格式:INFO KEY Key

命令描述:查询目标Key所属的Slot(槽)和DB(数据分片节点)。在Tair集群实例中,部分命令限制执行的所有Key必须在同一个Slot中,您可以通过该命令查询某些Key是否在于同一个Slot或DB中。

说明

该命令返回的Node是指集群规格下的数据分片节点,和SELECT命令中的DB不是同一个概念。

命令示例:

INFO KEY foo

返回示例:

slot:12182 node_index:0

IINFO

命令格式:IINFO db_idx [section] ...

命令描述:与Redis原生INFO命令类似,用于查询数据分片节点的各项统计信息。

db_idx为数据分片节点,取值为[0,集群分片总数];其他参数的用法及返回结果与原生INFO命令类似,更多信息请参见INFO

命令示例:

IINFO 1 Server

返回示例:

"# Server\r\nredis_version:5.0.13\r\nos:Linux\r\ntcp_port:6379\r\nuptime_in_seconds:547026\r\nuptime_in_days:6\r\nhz:10\r\nlru_clock:4869333\r\n"

RIINFO

命令格式:RIINFO db_idx ro_slave_idx [section] ...

命令描述:与Redis原生INFO命令类似,仅用于查询读写分离架构的只读数据分片节点的各项统计信息。

db_idx为数据分片节点(Master),默认为0;ro_slave_idx为第几个只读数据分片节点,取值为[0,5];其他参数的用法及返回结果与原生INFO命令类似,更多信息请参见INFO

命令示例:

RIINFO 0 0 Server

返回示例:

"# Server\r\nredis_version:5.0.13\r\nos:Linux\r\ntcp_port:6379\r\nuptime_in_seconds:322575\r\nuptime_in_days:3\r\nhz:10\r\nlru_clock:4926418\r\n"

ISCAN

命令格式:ISCAN db_idx cursor [MATCH pattern] [COUNT count]

命令描述:与Redis原生SCAN命令类似,用于在集群架构指定的数据分片节点上执行SCAN命令。

db_idx数据分片节点,取值为[0,集群分片总数];其他参数的用法及返回结果与原生SCAN命令类似,更多信息请参见SCAN

命令示例:

ISCAN 0 0 COUNT 3

返回示例:

1) "0"
2) 1) "dkjfd"
   2) "k"
   3) "9z9"

IMONITOR

命令格式:IMONITOR db_idx

命令描述:与Redis原生MONITOR命令类似,用于在集群架构指定的数据分片节点上执行MONITOR命令。

db_idx为数据分片节点(Master),取值为[0,集群分片总数],更多信息请参见Monitor

命令示例:

说明

请通过Telnet执行IMONITORRIMONITOR命令,如需退出IMONITORRIMONITOR命令,可使用QUIT命令。

IMONITOR 0

返回示例:

+OK
+1682652565.538228 [0 127.0.0.1:38618] "info" "all"
+1682652566.538231 [0 127.0.0.1:38618] "info" "all"

RIMONITOR

命令格式:RIMONITOR db_idx ro_slave_idx

命令描述:与Redis原生MONITOR命令类似,用于在读写分离架构的只读数据分片节点上执行MONITOR命令。

db_idx为数据分片节点(Master),默认为0;ro_slave_idx为第几个只读数据分片节点,取值为[0,5];其他参数的用法及返回结果与原生MONITOR命令类似,更多信息请参见Monitor

命令示例:

RIMONITOR 0 1

返回示例:

+OK
+1682653310.571527 [0 127.0.0.1:59492] "info" "all"
+1682653311.571573 [0 127.0.0.1:59492] "info" "all"