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)

    利用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)
  • 相关阅读:
    Linux下Subversion的使用
    python3之HTML、CSS学习
    Python成长之路 常用模块与正则表达式
    Css3 列表布局 两列或者多列布局整理
    .net 通过代码控制GridView显示列
    .net 创建一个页面级全局datatable的方法
    .net 将分页展示的GridView的全部数据 导出excel
    .net 如何判断dataset是否为空
    sql 全表结构备份
    sql 把一个表中的某一列赋值到另一个表中的某一列
  • 原文地址:https://www.cnblogs.com/shiyueyangne/p/14249785.html
Copyright © 2011-2022 走看看