You need to enable JavaScript to run this app.
导航
缓存数据库 Redis 版自研 Proxy 命令
最近更新时间:2025.05.28 10:32:25首次发布时间:2025.05.28 10:32:25
我的收藏
有用
有用
无用
无用

缓存数据库 Redis 版在兼容开源 Redis 命令之外,还额外支持了多个自研的 Proxy 命令,您可以在已启用分片集群的 Redis 实例中使用,帮助您更方便地管理启用分片集群实例。

前提条件

  • 实例架构需为启用分片集群实例,且需使用公网或私网地址访问实例,通过直连地址访问实例时不可使用自研 Proxy 命令。通过公网或私网连接实例的具体操作步骤,请参见通过私网连接实例通过公网连接实例
  • 实例的 Proxy 小版本需大于等于 1.504.0。

    说明

    您可以在实例信息查看实例的数据库版本和 Proxy 小版本信息,具体操作步骤,请参见查看实例信息

  • 实例状态需为运行中。关于实例状态的更多说明,请参见实例状态

自研命令语法

命令列表

缓存数据库 Redis 版支持的自研 Proxy 命令如下表所示。

说明

针对下表中的命令语法,定义如下:

  • 大写关键字:命令关键字,如 CAS
  • 小写关键字:可自定义的参数。
  • [][] 内的为可选参数,不在 [] 内的为必选参数。
命令语法说明
CASCAS key oldvalue newvalue当传入的 oldvalue 与指定 key 已设的 value 一致时,则使用传入的 newvalue 覆盖原来的 value。
CADCAD key oldvalue当传入的 oldvalue 与指定 key 已设的 value 一致时,则删除 key。

IMONITOR

IMONITOR shard_id

与开源 Redis 的 MONITOR 命令类似,用于在启用分片集群 Redis 实例的指定 shard 分片上执行 MONITOR 命令。

说明

需要通过 Telnet 执行 IMONITOR 命令,可使用 QUIT 命令退出执行 IMONITOR 命令。

ISCANISCAN shard_id cursor [MATCH pattern] [COUNT count]与开源 Redis 的 SCAN 命令类似,用于在启用分片集群 Redis 实例的指定 shard 分片上执行 SCAN 命令。

CAS

类别说明
命令语法CAS key oldvalue newvalue
时间复杂度O(1)。
命令描述当传入的 oldvalue 与指定 key 已设的 value 一致时,则使用传入的 newvalue 覆盖原来的 value。

选项

  • key:key 名称。
  • oldvalue:指定 key 已设的 value。
  • newvalue:若传入的 oldvalue 与指定 key 已设的 value 一致时,则使用传入的 newvalue 覆盖原来的 value。

返回值

  • 1:命令执行成功,newvalue 已覆盖原来的 value。
  • 0:传入的 oldvalue 与指定 key 已设的 value 不一致。
  • -1:指定 key 不存在。
  • 其它情况返回相应的异常信息。

示例

  • 命令示例一
      将值为 1 的 key doctest3 赋予一个新值 5,命令如下。
    CAS doctest3 1 5
    
    返回示例。
    (integer) 1
    
  • 命令示例二
    尝试将 key doctest3 的值改为 100,命令如下。
    CAS doctest3 1 100
    
    由于 key doctest3 已设的值为 5 而不是 1,因此执行上述命令时会返回如下信息,表示传入值与 key 已设的 value 不一致。
    (integer) 0
    

CAD

类别说明
命令语法CAD key oldvalue
时间复杂度O(1)。
命令描述当传入的 oldvalue 与指定 key 已设的 value 一致时,则删除 key。

选项

  • key:key 名称。
  • oldvalue:指定 key 已设的 value。

返回值

  • 1:命令执行成功,newvalue 已覆盖原来的 value。
  • 0:传入的 oldvalue 与指定 key 已设的 value 不一致。
  • -1:指定 key 不存在。
  • 其它情况返回相应的异常信息。

示例

删除值为 5 的 key doctest3 ,命令如下。

CAD doctest3 5

返回示例。

(integer) 1

IMONITOR

类别说明
命令语法IMONITOR shard_id
时间复杂度无。

命令描述

与开源 Redis 的 MONITOR 命令类似,用于在启用分片集群 Redis 实例的指定 shard 分片上执行 MONITOR 命令。

说明

需要通过 Telnet 执行 IMONITOR 命令,可使用 QUIT 命令退出执行 IMONITOR 命令。

选项shard_id:分片 ID,用于指定需要查看的分片,取值范围为 [0, 目标 Redis 实例中的总分片数]。

返回值

  • 执行成功会返回 OK,并展示当前分片中各指标的详细信息。
  • 其它情况返回相应的异常信息。

示例

查询分片 1 的监控详情,命令如下。

IMONITOR 1

返回示例。

+OK
+1746503490.811822 [0 11.52.***.***:***] "info" "Server"
+1746503491.411741 [0 11.52.***.***:***] "info" "Server"
+1746503491.411832 [0 11.52.***.***:***] "info" "Replication"

ISCAN

类别说明
命令语法ISCAN shard_id cursor [MATCH pattern] [COUNT count]

时间复杂度

每次查询的时间复杂度为 O (1)。
一次完整查询的时间复杂度为 O (N),其中 N 代表集合内的元素总数。在一次完整的查询过程中,会涉及多次命令调用,以使游标值归 0。

命令描述与开源 Redis 的 SCAN 命令类似,用于在启用分片集群 Redis 实例的指定 shard 分片上执行 SCAN 命令。

选项

  • shard_id:分片 ID,用于指定需要查看的分片,取值范围为 [0, 目标 Redis 实例中的总分片数]。
  • 其他参数的用法及返回结果与开源 Redis 的 SCAN 命令类似。更多信息,请参见 SCAN

返回值

  • 查询成功会返回一个游标值(cursor)和符合查询条件的 key 列表。

    说明

    返回的游标值表示本次查询的位置,该游标值可用于执行下一次的 SCAN 命令。0 表示已完成所有查询。

  • 其它情况返回相应的异常信息。

示例

查询分片 1 中以 doc 开头的 key,命令如下。

ISCAN 1 0 MATCH doc*

返回示例。

1) "0"
2) 1) "doctest2"