redis 清理某个key前缀的key
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,redis清理某个前缀的key例如,某次研发上线代码,造成了某种前缀的key出现了脏数据(例如key前缀名称为 key_ ), 我们需要快速的清理掉这些问题key。常用的方法有2种:1、dump出一个
千家信息网最后更新 2025年12月03日redis 清理某个key前缀的key
redis清理某个前缀的key
例如,某次研发上线代码,造成了某种前缀的key出现了脏数据(例如key前缀名称为 key_ ), 我们需要快速的清理掉这些问题key。
常用的方法有2种:
1、dump出一个全量数据,然后找出符合条件的key,进行删除操作【推荐】
2、使用scan扫描redis,将全部key捞出来,然后再删除符合条件的key
我们这里使用第一种方法,具体如下操作:
1、在slave节点bgsave命令dump出一份全量数据
bgsave ,生成的文件名类似 dump-6379.rdb
2、 安装 rdb 解析工具
pip install rdbtools python-lzf # python2.7 下 一行命令即可完成安装rdb -c memory dump-6379.rdb > memory.csv # 用这个命令将rdb进行分析
3、过滤出符合条件的key
awk -F ',' '{print $3 , $NF }' memory.csv > keys.txt # 过滤出key的名称和过期时间egrep key_ keys.txt > /root/key_.txt # 将 key_ 前缀的key 过滤出来cat /root/key_.txt | sort -k 2 -r > /root/sort_keys # 对key按照日期进行倒序排序egrep 2019-09-10 /root/sort_keys > /root/match_keys # 注意:我这里紧急处理,只过滤出 2019-09-10 过期的key(这是最新的数据,也是目前业务最常访问的key,也就是最需要紧急处理的)awk '{print $1}' /root/match_keys > /root/filter_keys # 将最终需要处理的key重定向到一个文件mkdir /root/test/split -2000 /root/filter_keys /root/test/ # 将 filter_keys 这个文件 按照每个2k行切分成多个文件,便于后续并行处理然后,我们写个脚本,批量处理下:
vim /root/batch.sh 内容如下:
for i in `ls /root/test/`; doecho "while read line;doecho \"del \$line\" | redis-cli -h 127.0.0.1 -p 6379 done < /root/test/${i}" > /root/run_${i}.shchmod +x /root/run_${i}.sh done这样就生成了一堆的脚本
下面写个脚本,批量执行下就好了;
#!/bin/bashfor i in `ls run*.sh`; do nohup sh $i > /dev/null &done
处理
前缀
数据
文件
命令
条件
脚本
名称
方法
生成
一行
业务
也就是
代码
倒序
内容
多个
工具
常用
文件名
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
oc创建数据库
怎样把服务器加载启动项下
机器人服务器底板折弯
网络安全和信息化四个融合
服务器漏扫
网络安全绘画空白地方装饰
dns服务器地址怎么填安卓
改服务器密码连不上数据库
更新数据库表数据查询称为
服务器硬盘使用年限
太仓网络技术服务咨询报价
机房服务器访问管理系统
易烊千玺唱歌软件开发
我的世界服务器迷你账号
网络安全法考试找不到入口
kod云用什么软件开发的
dell服务器进入h730
服务器主机提示空间不足
ibm 服务器 型号
定义数据库数据完整性约束
软件开发分中后段吗
德温特专利数据库
用自己的名字创建一个数据库
海城市热电厂自动化控制软件开发
共享打印机和打印服务器区别
综合网络技术优化
宝山区企业网络技术服务承诺守信
兰州网络技术服务有限公司
华为服务器前面显示的数字
系统集成与软件开发的关系