解决redis批量删除key值的问题


Posted in Redis onMarch 23, 2022

遇到的问题:

在开发过程中,会遇到要批量删除某种规则的key,例如login_logID(ID为变量),现在需要删除"login_log*"这一类的数据,但是redis本身只有批量查询一类key值的命令keys,但是没有批量删除某一个类的命令。

解决办法:

先查询,在删除,使用xargs传参(xargs可以将管道或标准输入(stdin)数据转换成命令行参数),先执行查询语句,在将查询出来的key值,当初del的参数去删除。

redis-cli  KEYS key* (查找条件) | xargs redis-cli  del

=>[执行后返回的结果影响数量]:(integer) 10[数量10个]
做个实验,先创三个同类型的key值

127.0.0.1:6379> set test1 1
OK
127.0.0.1:6379> set test2 2
OK
127.0.0.1:6379> set test3 3
OK

查询keys

127.0.0.1:6379> keys test*
1) "test3"
2) "test2"
3) "test1"

退出redis,在本地执行删除命令

[root@localhost redis]# redis-cli -a 密码 -n 0(数据库) keys "test*" |xargs redis-cli -a 密码 -n 0(数据库)  del
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
(integer) 3 (返回行数)

原理解析:
  这个命令是先通过redis客户端执行了keys命令,模糊搜索出所有的key,通过xargs命令,将前面查询出来的key作为后面redis的del命令的输入
相当于执行了 redis-cli del test1 test2 test3
注意:这里执行时需要带上redis条件,-a是输入密码,-n是指定数据库,如果redis不在本地或者其他有变动还需要加上-h redis所在服务器ip,-p端口
例如

redis-cli -h 127.0.0.1(IP地址) -p 6379 (端口号) -a 密码 -n 1(数据在第几个库就写几) KEYS key* (查找条件) | xargs redis-cli (-h (IP地址) -p 6379 (端口号) -a 密码 -n 1 ) del

补充知识:

redis中的删除
1.Redis DEL 命令用于删除已存在的键,不存在的 key 会被忽略。
例如:

127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> del hello
(integer) 1

但是del只能删除一个或多个,不能批量删除,当需要删除数据量过大时就不适用了
2.清空整个 Redis 服务器的数据:flushall
3.清空当前库中的所有 key:flushdb

到此这篇关于redis批量删除key值的文章就介绍到这了,更多相关redis批量删除key值内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
Redis如何一键部署脚本
Apr 12 Redis
浅谈Redis的几个过期策略
May 27 Redis
深入理解redis中multi与pipeline
Jun 02 Redis
redis cluster支持pipeline的实现思路
Jun 23 Redis
浅谈Redis的keys命令到底有多慢
Oct 05 Redis
Redis 操作多个数据库的配置的方法实现
Mar 23 Redis
浅谈Redis的事件驱动模型
May 30 Redis
Redis特殊数据类型bitmap位图
Jun 01 Redis
Redis基本数据类型List常用操作命令
Jun 01 Redis
Redis sentinel哨兵集群的实现步骤
Jul 15 Redis
基于Redission的分布式锁实战
Aug 14 Redis
Redis配置外网可访问(redis远程连接不上)的方法
Dec 24 Redis
源码分析Redis中 set 和 sorted set 的使用方法
Redis监控工具RedisInsight安装与使用
在Centos 8.0中安装Redis服务器的教程详解
redis数据结构之压缩列表
Mar 21 #Redis
Redis高可用集群redis-cluster详解
使用Redis实现点赞取消点赞的详细代码
Mar 20 #Redis
Redis集群节点通信过程/原理流程分析
You might like
程序员编程十条戒律
2009/07/09 PHP
php文件上传的简单实例
2013/10/19 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
JavaScript与函数式编程解释
2007/04/27 Javascript
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
用js判断输入是否为中文的函数
2014/03/10 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
2014/10/17 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
英国手机零售商:Metrofone
2019/03/18 全球购物
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
餐厅经理岗位职责范本
2014/02/17 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
桥梁工程专业求职信
2014/04/21 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
公务员政审材料
2014/12/23 职场文书
华清池导游词
2015/02/02 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书
导游词之天津古文化街
2019/11/09 职场文书
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers