利用python脚本统计和删除redis key

597 篇文章 17 订阅
100 篇文章 2 订阅

该脚本扫描redis中所有的key,用于分析redis内存数据的key构成,扫描并保存文件,需要python支持redis模块。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#jack chen
import os, sys, time
import redis

def redis_scan():
    try:
        redisconn = redis.StrictRedis(host="xx.xx.xx.xx", port=6379, db=0)        #不同db需要修改
    except Exception as e:
        print("connect redis error")
        sys.exit(1)
    cursor = 1
    isNoe = True
    file = open('rediskey', 'a+')
    while cursor != 0:
        if isNoe:
            cursor = 0
            isNoe = False
        key = redisconn.scan(cursor, count=2000)        #每次拿2000个key
        time.sleep(0.05)
        if len(key[1]) == 0:
            print("key scan finish")
        else:
            for n in key[1]:
                n = bytes.decode(n)
                file.write(n)
                file.write("\n")
                cursor = key[0]
    file.close()

redis_scan()

删除key

提前把key保存到key.txt文件中,然后读取一行一行执行删除key的动作。

#!/bin/env python
# -*- coding: UTF-8 -*-
#function: 根据文件列表删除key,一行一个redis key
#authors: jack chen
import os, sys
import redis
import time

conn = redis.StrictRedis(host="xx.xx.xx.xx",port=6379,db=0)           #注意redis的db

with open('key.txt') as file:
    for line in file:
        time.sleep(0.001)
        keyname = line.rstrip('\n')
        conn.delete(keyname)
        print("key: %s delete ok" %keyname)

在这里插入图片描述
希望本文对你有所帮助~如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值