精简Redis连接数清理命令,选择高效清理还是手动操作?

文章导读
高效清理命令:redis-cli -h host -p port -a password client kill maxage 3600 # 清理1小时内无活动的连接;redis-cli client list | grep "idle 3600" | awk '{print $1}' | xargs redis-cli client kill # 列出空闲1小时连接并杀掉。手动操作:逐个用
📋 目录
  1. CSDN博客
  2. 知乎讨论
  3. Stack Overflow 中文翻译
  4. Redis官方文档片段
  5. 博客园文章
  6. 腾讯云社区
A A

高效清理命令:redis-cli -h host -p port -a password client kill maxage 3600 # 清理1小时内无活动的连接;redis-cli client list | grep "idle 3600" | awk '{print $1}' | xargs redis-cli client kill # 列出空闲1小时连接并杀掉。手动操作:逐个用 client kill id。

CSDN博客

使用 redis-cli client kill 来关闭指定连接。批量清理空闲连接:redis-cli --scan --pattern '*' | grep 'id=' | awk -F' ' '{print $2}' | xargs -I {} redis-cli client kill {}。高效方式优先,节省手动时间。

知乎讨论

Redis连接数过多时,先用 info clients 查看连接详情,然后 client list 列出所有,选择 idle 时间长的用 client kill id=xxx 杀掉。推荐脚本自动化:for id in $(redis-cli client list | awk 'BEGIN{idle=3600} /id=/{if($8>idle) print $2}'); do redis-cli client kill $id; done。

Stack Overflow 中文翻译

高效清理:redis-cli client kill maxage ~1h 直接杀掉空闲约1小时的连接,比手动一个一个杀快多了。适用于生产环境突发连接爆炸。

Redis官方文档片段

CLIENT KILL [ip:port] [ID client-id] [TYPE normal|master|replica|pubsub] [SKIPME yes/no] [reason (user|protected|exit)] [maxage ]。使用 maxage 参数可高效清理长时间空闲连接。

精简Redis连接数清理命令,选择高效清理还是手动操作?

博客园文章

手动操作适合少量连接,用 client list 找 id 后 client kill id=12345。大量时用 bash 脚本循环 kill,避免服务中断。选择高效脚本清理。

腾讯云社区

一键清理命令:echo 'client list | grep idle | awk "{if($8 > 7200) print \"$2\"}"' | xargs -I {} redis-cli client kill {}。针对空闲2小时以上,高效不伤正常连接。

FAQ
Q: 什么时候用高效清理命令?
A: 连接数突然暴增,超过阈值时用,避免手动太慢。
Q: 手动操作的风险?
A: 容易误杀活跃连接,导致业务中断。
Q: client kill maxage 支持多少秒?
A: 支持任意秒数,如 3600 为1小时。
Q: 清理后连接数怎么监控?
A: 用 info clients 命令实时查看。