CLIENT LIST
语法
CLIENT LIST [TYPE <NORMAL | MASTER | REPLICA | PUBSUB>] [ID client-id [client-id ...]]
- 自版本
- 2.4.0
- 时间复杂度
- O(N),其中 N 是客户端连接的数量
- ACL 类别
-
@admin
,@slow
,@dangerous
,@connection
,
CLIENT LIST
命令以一种几乎人类可读的格式返回有关服务器中客户端连接的信息和统计信息。
可以使用可选的子命令之一来过滤列表。TYPE type
子命令按客户端类型过滤列表,其中 type 是 normal
、master
、replica
和 pubsub
中的任何一个。请注意,被 MONITOR
命令阻塞的客户端属于 normal
类。
ID
过滤器仅返回与 client-id
参数匹配的客户端 ID 的条目。
以下是字段的含义
id
: 一个唯一的 64 位客户端 IDaddr
: 客户端的地址/端口laddr
: 客户端连接到的本地地址/端口(绑定地址)fd
: 与套接字相对应的文件描述符name
: 客户端使用CLIENT SETNAME
设置的名称age
: 连接的总持续时间(秒)idle
: 连接的空闲时间(秒)flags
: 客户端标记(见下文)db
: 当前数据库 IDsub
: 频道订阅数量psub
: 模式匹配订阅数量ssub
: 分片频道订阅数量。在 Redis 7.0.3 中添加multi
: MULTI/EXEC 上下文中的命令数量watch
: 此客户端当前正在监视的键的数量。在 Redis 7.4 中添加qbuf
: 查询缓冲区长度(0 表示没有待处理的查询)qbuf-free
: 查询缓冲区的可用空间(0 表示缓冲区已满)argv-mem
: 下一个命令的不完整参数(已从查询缓冲区提取)multi-mem
: 由缓冲的多条命令占用的内存。在 Redis 7.0 中添加obl
: 输出缓冲区长度oll
: 输出列表长度(当缓冲区已满时,回复将排队到此列表中)omem
: 输出缓冲区内存使用情况tot-mem
: 此客户端在各种缓冲区中消耗的总内存events
: 文件描述符事件(见下文)cmd
: 上次执行的命令user
: 客户端的已认证用户名redir
: 当前客户端跟踪重定向的客户端 IDresp
: 客户端 RESP 协议版本。在 Redis 7.0 中添加
客户端标记可以是以下组合
A: connection to be closed ASAP
b: the client is waiting in a blocking operation
c: connection to be closed after writing entire reply
d: a watched keys has been modified - EXEC will fail
e: the client is excluded from the client eviction mechanism
i: the client is waiting for a VM I/O (deprecated)
M: the client is a master
N: no specific flag set
O: the client is a client in MONITOR mode
P: the client is a Pub/Sub subscriber
r: the client is in readonly mode against a cluster node
S: the client is a replica node connection to this instance
u: the client is unblocked
U: the client is connected via a Unix domain socket
x: the client is in a MULTI/EXEC context
t: the client enabled keys tracking in order to perform client side caching
T: the client will not touch the LRU/LFU of the keys it accesses
R: the client tracking target client is invalid
B: the client enabled broadcast tracking mode
文件描述符事件可以是
r: the client socket is readable (event loop)
w: the client socket is writable (event loop)
备注
定期添加新的字段用于调试目的。某些字段将来可能会被删除。使用此命令的版本安全的 Redis 客户端应该相应地解析输出(即优雅地处理缺失的字段,跳过未知的字段)。
RESP2/RESP3 回复
批量字符串回复: 有关客户端连接的信息和统计信息。历史
- 从 Redis 2.8.12 版本开始:添加了唯一的客户端
id
字段。 - 从 Redis 5.0.0 版本开始:添加了可选的
TYPE
过滤器。 - 从 Redis 6.0.0 版本开始:添加了
user
字段。 - 从 Redis 6.2.0 版本开始:添加了
argv-mem
、tot-mem
、laddr
和redir
字段以及可选的ID
过滤器。 - 从 Redis 7.0.0 版本开始:添加了
resp
、multi-mem
、rbs
和rbp
字段。 - 从 Redis 7.0.3 版本开始:添加了
ssub
字段。