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 &

最新文章

  1. Javascript中关于cookie的那些事儿
  2. 慕课网__css_padding &amp;&amp; z_index
  3. ShareSDK第三方登录代码
  4. android 编译错误 com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
  5. 关系型数据库与NOSQL(转)
  6. Atitit.&#160;软件设计&#160;模式&#160;变量&#160;方法&#160;命名最佳实践&#160;vp820&#160;attilax总结命名表大全
  7. --投资情况统计详情sql
  8. JSONObject put,accumulate,element的区别(转载)
  9. POJ 3311 Hie with the Pie(Floyd+状态压缩DP)
  10. 【学习笔记】【C语言】逗号运算符
  11. 让低版本的IE浏览器 强制渲染为IE8 或者 以上 浏览器模式
  12. 如何查看Android设备上的分区信息
  13. Nginx 配置 https
  14. 第69节:Java中数据库的多表操作
  15. Shell第二篇:正则表达式和文本处理工具
  16. jdk 生成证书
  17. go sync.once用法
  18. composer卸载重装
  19. word中的交叉引用
  20. 安装Windows 8.1过程中出现的各种问题(无损从MBR转GPT磁盘、不能定位已有分区)

热门文章

  1. ios app真机测试到上架App Store详细教程-必看
  2. char* a = &quot;abc&quot; 和 char a[] = &quot;abc&quot; 之间的区别
  3. Java编程思想—八皇后问题(数组法、堆栈法)
  4. 【LeetCode】188、买卖股票的最佳时机 IV
  5. sql盲注-笔记
  6. springMvc中获取通过注解获取properties配置文件(转)
  7. 洛谷 P1809 过河问题 题解
  8. Head First PHP&amp;MySQl第四章代码
  9. 说说 MicroPython 的项目整体架构
  10. 剑指offer-7:调整数组顺序使奇数位于偶数前面