1、暴力删除

使用keys * 扫描所有的key,然后批量删除。key较多时,会阻塞redis,生产环境中需要慎重,适合并发小,keys数量少的场景。

关键命令:

docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  keys "a*" |xargs redis-cli -h 172.17.0.17 -p 6379 -n 0 del"

[root@VM-0-17-centos ~]#
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  set a1 1"
OK
[root@VM-0-17-centos ~]#
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  set a2 2"
OK
[root@VM-0-17-centos ~]#
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  set a3 3"
OK
[root@VM-0-17-centos ~]#
[root@VM-0-17-centos ~]#
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  keys "a*""
1) "a1"
2) "a2"
3) "a3"
[root@VM-0-17-centos ~]#
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  keys "a*" |xargs redis-cli -h 172.17.0.17 -p 6379 -n 0 del"
(integer) 3
[root@VM-0-17-centos ~]#
[root@VM-0-17-centos ~]#
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  keys "a*""
(empty array)###如果需要密码,可以加上-a参数

2、优雅删除

关键命令:

docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0 --scan --pattern "a*" |xargs -n 1000 -r redis-cli -h 172.17.0.17 -p 6379 -n 0 del"

[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  set a1 1"
OK
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  set a2 2"
OK
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  set a3 3"
OK
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  --scan --pattern "a*""
a2
a1
a3
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0 --scan --pattern "a*" |xargs -N 1000 redis-cli -h 172.17.0.17 -p 6379 -n 0 del"
xargs: unrecognized option: N
BusyBox v1.31.1 () multi-call binary.Usage: xargs [OPTIONS] [PROG ARGS]Run PROG on every item given by stdin-0      Input is separated by NULs-a FILE Read from FILE instead of stdin-r      Don't run command if input is empty-t      Print the command on stderr before execution-p      Ask user whether to run each command-E STR,-e[STR]  STR stops input processing-I STR  Replace STR within PROG ARGS with input line-n N    Pass no more than N args to PROG-s N    Pass command line of no more than N bytes-P N    Run up to N PROGs in parallel-x      Exit if size is exceeded
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0 --scan --pattern "a*" |xargs -n 1000 -r redis-cli -h 172.17.0.17 -p 6379 -n 0 del"
(integer) 3
[root@VM-0-17-centos ~]#
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  --scan --pattern "a*""
[root@VM-0-17-centos ~]#
###如果需要密码,可以加上-a参数

备注:

xargs -n 参数的作用,表示每次执行的参数数量


### 注意-n参数,可以每次删除适量的[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  set a1 3"
OK
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  set a2 3"
OK
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0  set a3 3"
OK
[root@VM-0-17-centos ~]# docker run --rm --name redis-cli -it goodsmileduck/redis-cli sh -c "redis-cli -h 172.17.0.17 -p 6379 -n 0 --scan --pattern "a*" |xargs -n 1 -r redis-cli -h 172.17.0.17 -p 6379 -n 0 del"
(integer) 1
(integer) 1
(integer) 1

优雅删除Redis中以xx开头的key相关推荐

  1. 对于如何删除redis中geo存入的坐标

    redis中geo 就是将坐标存在reids 中可以进行判断坐标之间的距离,判断坐标及公里内的坐标. 但是由于geo大部分博客都是添加geo 进行判断,但是没有教大家怎么删除,对于坐标点比较多的话会 ...

  2. redis中处理带有空格的key

    问题提出: 在redis中存的key有空格,存后空格会被取消掉,如图所示 String str = "2020-1-1 08"; stringRedisTemplate.opsFo ...

  3. 【转】批量删除redis中的key

    1. DEL 直接加键名称 DEL key1 key2 key3 127.0.0.1:6379>  DEL site_msg_99973  false site_msg_99974   fals ...

  4. 创建集合并添加给定数据(学生名),删除集合中以王开头的学生,打印剩余学生的姓名

    import java.util.*; // 请在Begin-End间编写代码 /********** Begin **********/ // 第一步:创建CollTest类 class CollT ...

  5. 使用JedisClusters批量高效删除redis中的key

    //list为需要删除的key数据集合 for (Map<String, Object> map : list) {//获取账号需要删除的key内容Object cpm_username ...

  6. redis 命令别名_redis 命令、命令行根据前缀(通配符)批量删除redis存储的key

    redis简介 redis作为缓存服务器在项目中经常使用 使用redis存储数据时,我们经常会将key分组 使用冒号(:)分组或者其他的自定义前缀方式,如果我们需要清除redis特定的key内容时,在 ...

  7. [转载] python怎么获取redis中的数据_python操作redis数据库

    参考链接: 使用Python在Selenium中进行非阻塞等待 3.redis基本命令 String set(name, value, ex=None, px=None, nx=False, xx=F ...

  8. redis 中一个字段 修改map_CTO 指名点姓让我带头冲锋,熬了一个通宵,终于把Redis中7千万个Key删完了...

    由于有一条业务线不理想,高层决定下架业务.对于我们技术团队而言,其对应的所有服务器资源和其他相关资源都要释放. 释放了 8 台应用服务器:1 台 ES 服务器:删除分布式定时任务中心相关的业务任务:备 ...

  9. 终于把Redis中7千万个Key删完了

    由于有一条业务线不理想,高层决定下架业务.对于我们技术团队而言,其对应的所有服务器资源和其他相关资源都要释放. 释放了 8 台应用服务器:1 台 ES 服务器:删除分布式定时任务中心相关的业务任务:备 ...

最新文章

  1. 发改委:加速布局车联网与自动驾驶
  2. 使用IntentService给自己的Android应用写一个文件下载器。
  3. 【Git】认识各种开源协议及其关系
  4. 为什么说一次一密加是密抗窃听无条件安全的?
  5. 2021云栖大会丨阿里云发布第四代神龙架构,提供业界首个大规模弹性RDMA加速能力
  6. mysql 备份配置文件_mySQL配置文件、备份与恢复
  7. python查看微信撤回消息_python如何查看微信消息撤回
  8. js获取当前日期加上30天之后的日期
  9. 1.Kettle下载与安装
  10. 计算机专业英语高等教育出版社2013版
  11. 三维错切变换矩阵_三维基本几何变换矩阵.PPT
  12. 2022-2027年(新版)中国石墨烯行业竞争态势及发展前景预测报告
  13. 云服务器重装系统步骤,腾讯云服务器如何更换操作系统?更换系统镜像重装系统方法...
  14. python+opencv实现人脸识别|采用现成训练好的模型
  15. Tracup|远程办公,为什么会让管理者抓狂?
  16. python动画精灵梦叶罗丽_精灵梦叶罗丽中出现过多少宝石盒子?灵犀阁的盒子造型最罕见...
  17. FairMOT训练测试自定义数据集
  18. Windows10系统安装好用的截图软件--snipaste
  19. C#桌面文案小工具 ,详细带解说图(带源码)
  20. 【爬虫技能书】分享自用爬虫书籍,快进来看看!

热门文章

  1. 开放式耳机漏音严重吗?开放式耳机会不会吵到别人?
  2. 6.2.2 QT遇到 ‘QOpenGLWidget‘ file not found 问题的其中一种解决
  3. 修改 dokuwiki(适合开发类的最好的wiki) 支持 editor.md(国人做的最好的markdown)编辑
  4. keil仿真||示波器的使用
  5. VMware虚拟机安装DOS6.22(二)
  6. HiveSQL面试题18--腾讯面试用户连续签到天数及历史最大连续签到天数问题
  7. HashMap之resize方法
  8. CSS:内边距padding的设置,值的个数表达的意思是什么?
  9. FS7050系列5V电压检测IC(芯片)
  10. 失业潮?元宇宙开拓全新的就业机会