自定义命令使用示例

最近更新时间: 2026-03-13 09:03:00

内存版(集群架构)通过 VIP 封装,在集群模式下提供了单机版的使用体验,对业务的使用带来极大的便利。而运维场景,可能需频繁访问集群中的每个节点来定位异常,自定义命令基于原有命令的参数列表新增一个参数【节点 ID】,命令格式为 COMMAND arg1 arg2 ... [节点 ID],方便获取指定节点的信息。节点 ID 信息,可在 Redis 控制台 的节点管理页面获取,或者通过 cluster nodes 命令获取。

版本说明

Proxy 代理版本 5.5.0 之前,自定义命令执行需要增加节点 ID,而5.5.0 及之后的版本则不需要。

INFO

INFO 命令返回有关服务器的信息和统计信息。

自定义命令格式

info [section] [节点 ID]

其中,可选参数可用于选择特定部分的信息:

  • server:有关 Redis 服务器的一般信息。
  • clients:客户端连接部分。
  • memory:内存消耗相关信息。
  • persistence:RDB 和 AOF 相关信息。
  • stats:一般统计资料。
  • replication:主/从复制信息。
  • cpu:CPU 消耗统计。
  • commandstats:Redis 命令统计。
  • cluster:Redis 集群部分。
  • keyspace:数据库相关统计。
    可选参数也可以采用以下值:
  • all:返回所有部分。
  • default:仅返回默认的一组部分。
    具体信息,请参见 INFO 命令

使用示例

以 section 为 server 为例,执行 INFO 命令,示例如下。

SLOWLOG

读取慢日志,使用 SLOWLOG GET 命令,该命令将返回慢日志中的每个条目。可以仅返回 N 个最近的条目,并将其他参数传递给该命令(例如 SLOWLOG GET 10)。

自定义命令格式

slowlog get [Redis节点ID]
slowlog get [慢日志条目][Redis节点ID]

使用示例

FLUSHDB

删除当前所选数据库的所有键。该命令永远不会失败。

自定义格式

flushdb [Redis节点ID]

使用示例

cd-crs-rhxxxay.sql.tencentcdb.com:24894> flushdb f2f3c387b9fab0e67af02039845c60278b13bed0
OK

PING

此命令通常用于测试连接是否仍然存在,或测量延迟。

自定义命令格式

ping [message] [节点ID]

使用示例

[ crs-rh**** | DB0 ] # PING "PONG" f2f3c3************************
PONG
[ crs-rh**** | DB0 ] # PING "hello world"
hello world

KEYS

用于查询所匹配的键。

自定义格式

 keys [pattern]  [Redis节点ID]

使用示例

keys a* f2f3c3*************************

SCAN

自定义命令格式

scan cursor [MATCH pattern] [COUNT count] [Redis 节点ID]

使用示例

[ crs-******** | DB0 ] # scan 0 f2f3c3*************************
1)  "2"

IMonitor

说明:

  • iMonitor 命令要求 Redis 代理版本为 5.6.0及以上版本。
  • 原生 Redis 不支持 iMonitor 命令,redis-cli 无法识别该命令,执行 iMonitor 命令需要使用 telnet 工具。

命令需在 Proxy 节点上执行,参数为 Redis 分片节点的 ID。如下所示。

imonitor 【Redis节点ID】

使用示例

imonitor 3dba154c67925520ef1a1e2c41d8cc22d7f4****
+OK
+1680504260.729707 [0 127.0.0.1:6379] "auth" ******
+1680504260.730070 [0 127.0.0.1:6379] "info" "commandstats"
+1680504262.243004 [0 127.0.0.1:6379] "AUTH" ******