# 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子命令按客户端的类型过滤列表,其中typenormalmasterreplicapubsub之一。请注意,被MONITOR命令阻止的客户端属于normal该类。

过滤器仅返回 ID 与参数ID匹配的客户端的条目。client-id

# 返回

批量字符串回复:一个唯一的字符串,格式如下:

  • 每行一个客户端连接(由 LF 分隔)
  • 每行由一系列property=value由空格字符分隔的字段组成。

以下是字段的含义:

  • id:唯一的 64 位客户端 ID
  • addr:客户端的地址/端口
  • laddr: 本地地址客户端连接的地址/端口(绑定地址)
  • fd: 对应socket的文件描述符
  • name:客户端设置的名称CLIENT SETNAME
  • age:连接的总持续时间(以秒为单位)
  • idle:连接的空闲时间(以秒为单位)
  • flags:客户端标志(见下文)
  • db: 当前数据库 ID
  • sub: 频道订阅数
  • psub: 模式匹配订阅数
  • ssub:分片频道订阅数。在 Redis 7.0.3 中添加
  • multi: MULTI/EXEC 上下文中的命令数
  • qbuf: 查询缓冲区长度(0 表示没有待处理的查询)
  • qbuf-free: 查询缓冲区的可用空间(0 表示缓冲区已满)
  • argv-mem:下一个命令的参数不完整(已经从查询缓冲区中提取)
  • multi-mem: 内存被缓冲的多命令用完。在 Redis 7.0 中添加
  • obl: 输出缓冲区长度
  • oll:输出列表长度(当缓冲区已满时,回复在此列表中排队)
  • omem: 输出缓冲内存使用情况
  • tot-mem:此客户端在其各种缓冲区中消耗的总内存
  • events:文件描述符事件(见下文)
  • cmd: 最后一个命令播放
  • user: 客户端的认证用户名
  • redir:当前客户端跟踪重定向的客户端ID
  • resp: 客户端 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
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
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 客户端应该相应地解析输出(即处理正常丢失的字段,跳过未知字段)。

# 历史

  • 从 Redis 版本 2.8.12 开始:添加了唯一的客户端id字段。
  • 从 Redis 版本 5.0.0 开始:添加了可选TYPE过滤器。
  • 从 Redis 版本 6.2.0 开始:添加laddr了字段和可选ID过滤器。

# 反馈

如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。

Last Updated: 4/18/2023, 8:45:33 AM