是用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清理脚本
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()
执行完再查看一下:
虚浮。。。