该脚本扫描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自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。
在这里插入图片描述
在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐