首页/数据/Redis 进阶速查/CLIENT LIST 连接全景
性能与排障129 条

CLIENT LIST 连接全景

CLIENT LIST 列出每个连接的信息:地址、空闲时间、缓冲用量、订阅数、最近命令等,排障时用来找出异常客户端。

Redis 进阶速查数据更新于 2026-10-13

CLIENT LIST 是什么

CLIENT LIST 列出当前连接的信息:连接编号、对端地址、空闲时间、最近执行的命令、订阅数量,以及输入输出缓冲占用。排障时它用来把异常连接从正常连接里挑出来,例如吃内存的慢消费者、长期堆积的订阅端,或数量异常的应用实例。

基本信息

命令CLIENT LIST [TYPE normal|master|replica|pubsub] [ID id ...]
过滤维度TYPE 按连接类型、ID 精确指定、USER 按 ACL 用户
输出形式每行一个连接,字段以空格分隔
配套命令CLIENT INFO 看单连接详情,CLIENT SETNAME 给连接命名
开销提示连接数多时输出很长,建议用脚本过滤

典型使用场景

  • 慢消费者排查:omem 持续偏大的订阅端或命令处理端
  • 连接泄漏定位:应用重启后旧连接未回收,连接数只增不减
  • 连接归属识别:靠 CLIENT SETNAME 约定的名字区分是哪个应用
  • 复制健康检查:用 TYPE replica 看从库连接与上报偏移
  • 大结果查询定位:qbuf 与 omem 同时偏大的连接
  • 容量评估:统计各类型连接数,核对与 maxclients 的余量

常用调用

常用调用
redis-cli CLIENT LIST                        # 全量列出,量大时注意输出体积
redis-cli CLIENT LIST TYPE pubsub            # 只看订阅连接
redis-cli CLIENT LIST TYPE replica           # 只看复制连接
redis-cli CLIENT LIST ID 12345               # 只看指定编号的连接
redis-cli CLIENT INFO                        # 当前连接自身的详情
redis-cli CLIENT SETNAME order-service-01    # 给连接命名,便于后续溯源
redis-cli CLIENT LIST | wc -l                # 快速统计连接行数

输出逐列读法

字段含义关注点
id连接编号配合 CLIENT KILL ID 精确处置
addr / laddr对端地址与本地地址定位来源应用或负载均衡
name / user连接名与 ACL 用户溯源与权限排查
idle空闲秒数连接池空闲属正常状态,不是断连判据
qbuf / qbuf-free输入缓冲占用与剩余大命令或管道提交时升高
omem输出缓冲占用持续增长说明消费端跟不上
sub / psub订阅的频道数与模式数订阅泄漏时数量异常
cmd最近执行的命令判断这个连接在干什么
tot-mem该连接的总内存占用定位吃内存的连接
连接数多的时候靠人工浏览看不出规律,按字段过滤后再统计(例如按 name 聚合、按 omem 排序)才能发现异常分布。
输出里包含对端地址、命令名与用户名,属于运维敏感信息,外发、截图、贴进工单前先做脱敏处理。

易错点

  • 直接刷全量输出,关键异常连接被淹没在成千上万行里
  • 把 idle 时间当断连判据,误杀正常的长连接池连接
  • 没给连接起名,故障时无法判断连接属于哪个应用
  • 忽略 tot-mem 与 omem,内存排查一直在数据层打转,抓不到真正的占用方

数据来源与参考

  • Redis 官方文档:CLIENT LIST 说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌