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 &

转载于:https://www.cnblogs.com/bjx2020/p/11132962.html

redis优雅的批量删除key相关推荐

  1. Redis中如何批量删除key

    十月 16, 2018 ningmeng 批量删除Key Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成 ...

  2. 批量取redis keyvalue和批量删除key

    需求:取出所有前缀为g.at.ga.的string类型的key及其value 实现: 1. 取出key redis-cli -p 26379 -a 123456 -n 0 keys g.at.ga.* ...

  3. REDIS上如何批量删除KEY?

    一)REDIS批量删除一批KEY 1)删除一批key,例如删除以'XYZ'开头的一批key: redis-cli -a password keys "XYZ*" |xargs re ...

  4. Redis集群批量删除key

    一.说明 通常为了减轻数据库的压力提高性能,我们会使用数据缓存(我使用的redis).但是有时出于各种目的(比如有个配置需要立即刷新)我们需要将redis中某种类型(通常是有固定的前缀)的数据批量删除 ...

  5. 【Redis】RedisCluster 批量删除key

    首先使用客户端redis-cli连接你的RedisCluster其中任何一个节点 redis-cli -h host -p post -a password 查看集群信息,找出所有的master节点, ...

  6. redis通过命令批量删除key

    需求:想删除 notify_ 开头的所有key redis-cli KEYS "notify_*" | xargs redis-cli DEL 通过 notify_* 来匹配

  7. redis del 通配符 批量删除 key

    命令: redis-cli keys "user:login:*" | xargs redis-cli del 解释: 1.先查出所有的 keys 然后删除 Linux xargs ...

  8. php redis删除所有key,redis中批量删除key的方法

    Redis是一个高性能的key-value数据库.redis中可以借助Linux的xargs指令来批量删除key,也可以使用flushdb和flushall命令删除所有key. 批量删除Key Red ...

  9. redis批量删除key

    批量删除Key Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作 1 2 3 redis-cli ...

最新文章

  1. hdu Remainder
  2. IOS7最新的系统漏洞
  3. 如何使得WIN7下用VS2010做出的MFC程序具有XP风格(摆脱传统界面的效果)
  4. Django入门实战【3步曲】
  5. (软件工程复习核心重点)第九章软件项目管理
  6. Beetl学习总结(3)——高级功能
  7. Mysql源码编译安装主从复制
  8. labelImg 标签bug
  9. 知网显示html,使用知网HTML阅读的正确姿势
  10. mysql 命令行关闭fuw_网络管理 - eSight V300R009C00 维护指南 12 - 华为
  11. android模拟器 不能启动不了,Android模拟器启动不了解决办法
  12. 载入模型部分权重的方法
  13. printf 函数使用 可变参数函数实现原理
  14. 梅姨一定想不到 中国人最爱的英国货竟然是一本童书
  15. JAVA MemCache 史无前例的详细讲解 看完包精通MEMCACHE
  16. signal软件如何退出账号_微信怎么一键切换登录 微信多账号一键切换方法【图文详解】...
  17. ThreadPoolExecutor参数说明
  18. idea左边项目栏目录结构不见了/文件夹在上面显示
  19. QEMU 上模拟 KZM 开发板
  20. 深度调研:日本老年消费市场商业成功案例与发展经验成果分享

热门文章

  1. 钽电容正负极_固态电容怎么看正负极,固态电容正负极区分方法
  2. matlab imcrop 对应python函数_MATLAB车牌识别之7个字符切割浅谈【抽丝剥茧】
  3. echart 折线图设置y轴单位_echarts折线图有两个图例时如何实现分别采用两个不同单位的y轴...
  4. 成功从小公司跳槽!35岁的程序员被裁
  5. 【深度学习】逆卷积(Deconvolution)概述
  6. 数据元素和数据项的区别
  7. c++用一级运算比较大小_阿里百度腾讯 C/C++ 面试题总结,我全都告诉你!
  8. object+java+equals_java-为什么SparseIntArray.equals(Object)不起作用?
  9. 服务器对搜索引擎有哪些影响,实录:网站换服务器后对搜索引擎的影响
  10. html单选框背景图片,如何更改radio、checkbox选项框背景图?