zoukankan      html  css  js  c++  java
  • 利用python脚本统计和删除redis key

    该脚本扫描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("
    ")
                    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('
    ')
            conn.delete(keyname)
            print("key: %s delete ok" %keyname)
    
  • 相关阅读:
    1 Java基础知识
    2 Java中常见集合
    请求转发和重定向的区别
    Kafka之工作流程分析
    Kafka之概述
    Kafka之安装
    Oracle数据库查看用户状态
    linux压缩和解压文件命令
    JVM性能调优
    Hbase之命令
  • 原文地址:https://www.cnblogs.com/hzxyf/p/13858030.html
Copyright © 2011-2022 走看看