高效清理命令: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
博客园文章
手动操作适合少量连接,用 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 命令实时查看。