一、操作场景
| 参数值 | 命令行为 | 适用场景 | 默认适用实例 |
| true | 仅返回当前连接的 Proxy 节点的客户端列表,性能开销低 | 日常查看客户端连接 | Proxy v5.8.25版本起新购实例默认配置 |
| false | 通过 Redis Pubsub 机制聚合返回实例下全部 Proxy 节点的客户端列表(全量信息) | 排查全实例残留连接等场景 | 存量实例(v5.8.24及之前)默认配置 |
二、注意事项
将 local-client-list 设置为 false 后,CLIENT LIST 命令会通过 Redis Pubsub 机制聚合实例下全部 Proxy 节点的客户端列表。在客户端连接数较大的场景下,该操作会使 Redis 0槽位对应的 master 节点压力过大,容易触发出流量限制,存在稳定性风险。建议在业务低峰期谨慎使用,完成排查后将参数改回 true。
注意:说明:
注意:如需查看实例的全量连接与命令访问记录,建议使用数据库审计功能。审计功能支持按客户端 IP、用户账号、执行命令等多维度检索历史操作日志,无需执行 CLIENT LIST 全量聚合,不会对实例产生额外压力。开通方式请参见 开通数据库审计。
三、前提条件
·已创建腾讯云分布式缓存数据库实例。
·已获取实例的连接地址、端口及密码(可在实例详情页的网络信息中查看),且客户端与实例网络互通(位于同一 VPC,或已开通外网访问)。
四、步骤一:配置 local-client-list 参数
1. 登录 腾讯云分布式缓存数据库控制台。
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,单击目标实例 ID,进入实例详情页面。
4. 在实例详情页面,选择参数配置页签。
5. 在可修改参数页签,在参数列表中,找到 local-client-list 参数行,在当前运行参数值列,将鼠标放在参数值上面,单击修改参数值。根据需要将其修改为 true 或 false。具体修改方式,请参见 管理实例参数。
注意:说明:
注意:local-client-list 参数修改后无需重启实例即可生效。
五、步骤二:执行 CLIENT LIST 获取客户端信息
1. 通过客户端连接实例的 Proxy 节点。以 redis-cli 为例:
redis-cli -h <实例连接地址> -p <端口> -a <密码>
2. 执行 client list 命令,即可按 LocalClientList 的配置返回对应范围的客户端连接信息:
<实例连接地址>:<端口>> client listid=7 addr=10.0.0.12:52140 fd=8 name= age=132 idle=5 flags=N db=0 cmd=client|listid=9 addr=10.0.0.15:51022 fd=9 name= age=60 idle=0 flags=N db=0 cmd=get
·参数配置为 true 时:仅返回当前连接的这一个 Proxy 节点上的客户端连接。
·参数配置为 false 时:返回实例下全部 Proxy 节点的客户端连接,返回条数通常更多。
CLIENT LIST 每行对应一个客户端连接,local-client-list 仅影响返回范围,不改变各字段的含义。排查连接时常用的字段如下。
| 字段 | 说明 |
| id | 客户端连接的唯一 ID |
| addr | 客户端的 IP 地址和端口,用于定位连接来源 |
| fd | 客户端对应的文件描述符 |
| name | 客户端名称(通过 CLIENT SETNAME 设置,未设置时为空) |
| age | 该连接已建立的时长(单位:秒) |
| idle | 该连接的空闲时长(单位:秒),可用于排查长时间空闲无活动的连接 |
| cmd | 该连接最近执行的命令 |