该脚本扫描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)

利用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("\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)

利用python脚本统计和删除redis key的更多相关文章

  1. 利用Python脚本悄无声息的遥控室友电脑开机密码!

    整蛊一下室友就行了,切勿用于非法用途! 利用python脚本控制室友windows系统电脑的开机密码.利用random()生成随机数(密码),天知地知,密码只有你自己知道! Python代码分为cli ...

  2. 利用python脚本(xpath)抓取数据

    有人会问re和xpath是什么关系?如果你了解js与jquery,那么这个就很好理解了. 上一篇:利用python脚本(re)抓取美空mm图片 # -*- coding:utf-8 -*- from ...

  3. 利用Python 脚本生成 .h5 文件 代码

    利用Python 脚本生成 .h5 文件 import os, json, argparse from threading import Thread from Queue import Queue ...

  4. zabbix 利用python脚本实现钉钉告警

    Zabbix 利用python脚本实现钉钉告警 1.安装python3.6环境 2.创建python脚本 cd local/zabbix-4.0.3/share/zabbix/alertscripts ...

  5. 利用Python脚本完成一个Fat-tree型的拓扑

    利用Python脚本完成如下图所示的一个Fat-tree型的拓扑(交换机和主机名需与图中一致,即s1~s6,h1~h8) 参考资料 修改代码如下: from mininet.topo import T ...

  6. python脚本文件删除

    昨天有需求需要用python脚本删除一个目录下的文件.遇到了点麻烦. 使用的是shutil.rmtree(dir)函数,这个函数可以删除有内容的目录,而shutil.rmdir(dir)只能删除空目录 ...

  7. python 脚本定时删除 elk索引

    脚本如下 一.python 脚本如下 #! /usr/bin/python # -*- coding=utf-8 -*- import urllib import urllib.request imp ...

  8. 利用python脚本(re)抓取美空mm图片

    很久没有写博客了,这段时间一直在搞风控的东西,过段时间我把风控的内容整理整理发出来大家一起研究研究. 这两天抽空写了两个python爬虫脚本,一个使用re,一个使用xpath. 直接上代码——基于re ...

  9. Python脚本:删除文件夹下的重复图片,实现图片去重

    近期在整理相册的时候,发现相册中有许多重复图片,人工一张张筛查删除太枯燥,便写下这个脚本,用于删除文件夹下重复的图片. 第一部分:判断两张图片是否相同 要查找重复的图片,必然绕不开判断两张图片是否相同 ...

  10. 利用PS脚本自动删除7天之前建立的目录-方法1!

    目前有一个备份目录,目录名称为d:\temp\bak目录,在这目录下,根据备份要求,自动生成了如下目录的列表: 20131012 20131011 20131010 20131009 20131008 ...

随机推荐

  1. Win11 win10系统分区时出现defrag事件怎么解决?

    Win11系统分区时出现defrag事件怎么解决?最近有用户反映这个问题,在重新整理磁盘分区的时候,遇到出现了defrag事件,不知道怎么解决,针对这一问题,本篇带来了详细的Win11系统分区时出现d ...

  2. 为什么 .NET应用推荐使用 await、async异步编程?

    前言 1.什么是async/await? await和async是.NET Framework 4.5框架.C#5.0语法里面出现的技术,目的是用于简化异步编程模型. 2.async和await的关系 ...

  3. 【vcpkg】使用vcpkg安装库

    https://blog.csdn.net/cjmqas/article/details/79282847 使用vcpkg 查看vcpkg支持的开源库列表 执行命令 .\vcpkg.exe searc ...

  4. TCP&UDP测试工具使用方式方法

    第一项:测试TCP 步骤1:首先需要一台电脑上建立一个TCP服务器.并设置一个端口号如下图60003即可.并开启服务 步骤2:在另外一台电脑上,创建一个客户端连接,如下图.输入服务器的IP地址和端口号 ...

  5. Java基础——IO基础知识

    字节流可以处理任何类型的数据(图片.MP3.视频等文件),字符流只能处理字符类型(文本文件)的数据.

  6. GDB调用

    编译时需要加-g参数: gcc -g -o test main.c 使用GDB执行:gdb test -GDB命令

  7. a[i]之和小于N的含义

    例题 小白月赛 困难卷积 题目 要求一个暴力算是 \(O(n^2)\) 的东西 同时题目保证 \(\sum a[i] \leq 10^7\) 题解 \(\sum a[i] \leq 10^7\) 的含 ...

  8. python中的KeyError报错

    from util import str_util #业务逻辑:兼容不同的结构体:resCode转化数据 #检查字典中是否存在键 if 'resCode' not in resultJson if ' ...

  9. openwrt通过gre回源

    创建  ip tunnel add GRE网卡名 mode gre local 本地LAN IP remote SERVER LAN IP ttl 255  ip link set GRE网卡名 up ...

  10. JS实现打字效果(_会闪烁)

    背景 更新博客园个人博客时,突发奇想想要将子标题的入场特效做成类似Linux命令行输命令时的样式 效果网页:LanceEst - 博客园 (cnblogs.com) 思路和代码 1 <h2 id ...