是用python脚本清理reids连接

背景:

  测试环境的redis不知道咋回事突然无法连接,服务器登录查了一下发现连接数用完了。研发说雨女无瓜,测试环境删了没事,正事要紧赶紧恢复。得嘞!

> info clients
# Clients
connected_clients:9997  # 连接中的数量
client_recent_max_input_buffer:54366
client_recent_max_output_buffer:0
blocked_clients:57  # 阻塞中的客户端数量

再查看一下具体的信息,发现确实很多客户端都存在很久了(单位是秒),所以清一下。

 以下是python清理脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import redis
 
 
def get_redis_connection_info():
    r = redis.Redis(host='192.168.1.33', port=6379, password='123456AAA')
    info = r.info('clients')
    # 打印当前客户端整体情况
    print(info)
    # 获取连接列表
    client_list = r.execute_command('CLIENT LIST')
    # 遍历删除连接,空闲时间大于一天的删除
    for conn in client_list:
        idle_time = int(conn.get('idle'))
        if idle_time > 86400:
            conn_id = conn.get('id')
            r.execute_command(f'CLIENT KILL ID {conn_id}')
 
    r.close()
 
 
if __name__ == "__main__":
    get_redis_connection_info()

 执行完再查看一下:

 虚浮。。。

 

posted @   高佳丰  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示