redis优雅的批量删除key
redis优雅的批量删除key
近期在处理redis的故障中,发现需要删除大量的历史数据(也是bigkeys),好在符合正则表达式。要不然就很痛苦,这也体现了在设计key的时候遵循规范带来的维护好处之一。
简要记录如下(后期再完善):
redis优雅的批量删除key
方式一:主从模式
redis-cli --scan --pattern "ops-coffee-*" | xargs -L 2000 redis-cli del
方式二:分布式(集群)
可能不支持keys 或者 scan
导出数据成rdb格式,找个环境,把rdb载入到这个环境中
redis-cli --scan --pattern "*" >delele_keys.txt
cat delele_keys.txt | awk -F"." '{print $2}' | sed 's/^/del /g' > delele_keys.txt.tmp
mv delele_keys.txt.tmp delele_keys.txt
如果小的话,可以直接执行:
cat /data/mysql/backup/01/total/delele_keys.txt | /usr/bin/redis-cli -p 6379 -h x.x.x.x >/dev/null
# 分割文件
split -l 500000 -d -a 4 delele_keys.txt
cat > /data/mysql/backup/01/total/0705_del_keys_00_09.sh<<"EOF"
#!/bin/bash
for i in {10..20}
do
cat /data/mysql/backup/01/total/x00"${i}" | /usr/bin/redis-cli -p 6379 -h x.x.x.x >/dev/null
sleep 300
done
EOF
sh /data/mysql/backup/01/total/0705_del_keys_00_09.sh &
最新文章
- Javascript中关于cookie的那些事儿
- 慕课网__css_padding &;&; z_index
- ShareSDK第三方登录代码
- android 编译错误 com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
- 关系型数据库与NOSQL(转)
- Atitit.&#160;软件设计&#160;模式&#160;变量&#160;方法&#160;命名最佳实践&#160;vp820&#160;attilax总结命名表大全
- --投资情况统计详情sql
- JSONObject put,accumulate,element的区别(转载)
- POJ 3311 Hie with the Pie(Floyd+状态压缩DP)
- 【学习笔记】【C语言】逗号运算符
- 让低版本的IE浏览器 强制渲染为IE8 或者 以上 浏览器模式
- 如何查看Android设备上的分区信息
- Nginx 配置 https
- 第69节:Java中数据库的多表操作
- Shell第二篇:正则表达式和文本处理工具
- jdk 生成证书
- go sync.once用法
- composer卸载重装
- word中的交叉引用
- 安装Windows 8.1过程中出现的各种问题(无损从MBR转GPT磁盘、不能定位已有分区)
热门文章
- ios app真机测试到上架App Store详细教程-必看
- char* a = ";abc"; 和 char a[] = ";abc"; 之间的区别
- Java编程思想—八皇后问题(数组法、堆栈法)
- 【LeetCode】188、买卖股票的最佳时机 IV
- sql盲注-笔记
- springMvc中获取通过注解获取properties配置文件(转)
- 洛谷 P1809 过河问题 题解
- Head First PHP&;MySQl第四章代码
- 说说 MicroPython 的项目整体架构
- 剑指offer-7:调整数组顺序使奇数位于偶数前面