redis批量删除key值
遇到的问题:
在开发过程中,会遇到要批量删除某种规则的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 批量删除 key 使用 lua 脚本简单实现一个使用 keys 指令和 del 指令批量删除 key 的功能. local keyList = redis.call('keys', ARG ...
- php redis删除所有key,php redis批量删除key的方法
php redis批量删除key的方法,遍历,命令,前缀,数组,增量 php redis批量删除key的方法 易采站长站,站长之家为您整理了php redis批量删除key的方法的相关内容. php ...
- php redis 删除key 通配符,php中redis批量删除key的方法是什么
php中redis批量删除key的方法是什么 发布时间:2020-08-28 14:42:05 来源:亿速云 阅读:159 作者:小新 小编给大家分享一下php中redis批量删除key的方法是什么, ...
- php redis 清空list_php redis批量删除key的方法
php redis删除key的方法:首先使用scan命令增量迭代的方式遍历出以[XX]为前缀的key:然后通过unlink函数删除指定的key即可. php redis批量删除key 摘要 使用sca ...
- redis批量删除key命令
1.cd到redis的src目录,要使用其中的文件redis-cli执行后续命令(也可能不需要这步) cd /home/useradmin/redis-5.0.3/src 2.redis批量删除key ...
- redis批量删除key
批量删除Key Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作 1 2 3 redis-cli ...
- Redis批量删除Key的三种方式(linux和windows环境下都有)
Redis 中有删除单个 Key 的指令 del,网上资料大多数都说没有批量删除 Key 的指令,是否真这样有待再次确定,不过我们可以借助 Linux的 xargs 指令来完成这个动作,redis本身 ...
- php redis批量删除key,redis批量删除某种规则的key
一.前言 在工作中经常遇到需要批量删除某种规则的key的情况,如缓存的课程数据"course-课程uid",课程uid是变量,我们需要删除类似于"course-*&quo ...
- redis 批量删除key
redis本身不支持批量删除key.可以借助jedis客户端,shell和lua脚本来实现 下面将逐一介绍这三种方式 比如删除前缀为 "mykey" 的所有key 1. shel ...
最新文章
- 区块链研习 | 区块链里所说的“智能合约”是什么? 本文作者:敖萌	编辑:温晓桦	2017-10-11 20:31 导语:谈到区块链,必然离不开“智能合约”这个词。我们在本系列的第一篇文章中提到“智能
- 最优资产组合步骤_重新设计投资组合网站之前,请按照以下5个步骤进行操作
- window mysql集群视频_windows7实现mysql集群cluster-mysql簇
- java实体类实现抽象类_java接口、抽象类、实体类关系介绍
- 比特币区块链如何运作?
- 使用 JS刷新框架子页面
- Qt窗口部件——对话框QDialog
- 素性测试AKS算法程序
- 凸优化第五章对偶 5.6 扰动及灵敏度分析
- jmeter 分布式注意事项
- Altium Designer(AD)软件绘图一般步骤
- IEC60068-2-5太阳辐射模拟试验测试
- Java编写五线谱上的音符_在五线谱上怎么写音符
- msgbox php,VBA消息框(MsgBox)
- 关于PAT报错:warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
- status_breakpoint谷歌浏览器如何解决?
- 怎么看SaaS企业中的收入留存率?
- 一个神奇指标公式,能找到立刻单边行情的品种,准确率惊人,堪称交易法宝!
- 【Django毕业设计源码】python在线办公系统
- 花城fm v2.8.0