自定义命令
在兼容原生Redis命令之外,云数据库Redis版还支持多个自定义命令,可以帮助您更方便地管理实例。
# flushdb命令
在集群结构中为自定义行为,操作对象为集群每一个主节点,清空当前数据库中的所有 key,cluster不支持多DB。
# flushall命令
在集群结构中为自定义行为,操作对象为集群每一个主节点,清空数据库中的所有 key,cluster不支持多DB。
# info命令
info 返回原生redis形态且支持子命令 集(server、clients、memory、persistence、stats、replication、cpu、commandstats、cluster、keyspace、modules、errorstats)。
info命令较原生做了以下自定义行为:
字段特殊说明:
- clients 字段统计,为客户端和代理之间的连接数量
- Replication中的role, 返回状态一直为 master,返回信息中的 IP 地址为实例的服务IP
集群结构:
特殊说明:
- Replication中的role, 返回状态一直为 master(后端分片的其中一个主节点),slave信息为当前连接的到master(前面说的master)上对应的slave
- 对统计类的字段做了聚合,比如:Memory、Stats、CPU
# client族命令
client list
client为自定义命令,返回内容只包含真实的客户端信息(不包含sentinel,代理自身,数据库实例等节点连接信息)。
返回格式为自定义格式,信息字段信息说明:
- id:唯一的64位的客户端ID
- addr:客户端的地址和端口
- fd:套接字所使用的文件描述符
- name:连接的名字
- age:以秒计算的已连接时长
- idle:以秒计算的空闲时长
- flags:客户端 flag
- db:该客户端正在使用的数据库 ID
- sub:没有意义
- multi:没有意义
- events:文件描述符事件
- cmd:最近一次执行的命令
test ➤ redis-cli -h 10.240.11.111 -p 9736 -a *******
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
10.240.11.111:9736> CLIENT list
id=876044 addr=10.240.11.150:52149 fd=3 name= age=3 idle=3 flags=N db=0 sub=0 multi=-1 events=r cmd=client
10.240.11.111:9736>
2
3
4
5
client kill 命令
操作对象为真实的客户端连接,该连接指的是客户端和代理之间的连接,返回格式跟原生一样,比如:操作其它无效socket(除client list 查到以外的连接,都是无效socket) ,返回信息:(error) ERR No such client。
# cluster命令集
cluster命令集的自定义行为是返回信息的IP 地址为实例的服务IP,为了兼容一些GUI工具,cluster 命令集返回原生形态。
自定义支持的子命令集:
- CLUSTER NODES
- CLUSTER SLOTS
- CONFIG GET
例如:
cluster slots
10.240.11.115:9736> CLUSTER SLOTS
1) 1) (integer) 0
2) (integer) 16383
3) 1) "10.240.11.115"
2) (integer) 9736
3) "3865825c1a9b452178942fd31e5f5e504ba838e6"
10.240.11.115:9736>
2
3
4
5
6
7
8
cluster nodes
10.240.11.115:9736> CLUSTER NODES
3865825c1a9b452178942fd31e5f5e504ba838e6 10.240.11.115:9736@19736 myself,master - 0 1621836016000 0 connected 0-16383
2
# 跨 Slot 命令支持
集群架构目前支持跨 Slot 访问的命令,包括 DEL、SCAN、EXISTS、TOUCH、UNLINK、MGET、MSET、MSETNX、EVAL,其他多 KEY 命令的跨 Slot 访问暂不支持。
如果对key进行原子操作,可以通过hashtag 实现key在同一个node,代理支持hashtag。
# lastsave命令
在集群结构中为自定义行为,访问集群其中一个master节点上近一次 Redis 成功将数据保存到磁盘上的时间。
# time命令
在集群结构中为自定义行为,访问集群其中一个master服务器的时间。
# Role命令
在主从和集群结构中为自定义行为,返回格式同原生,返回的角色为当前主节点角色和节点信息,集群行为是,返回当前任意主节点信息。