解决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,在本地执行删除命令
原理解析:这个命令是先通过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值内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 解决redis批量删除key值的问题
相关文章
- Spring之Redis访问(Spring-data-redis)详解数据库
- 解决Redis无法访问的问题(redis无法访问)
- 解决Redis连接数过高问题(redis连接数过高)
- 优化架构:Redis缓存加速数据库性能(redis缓存和数据库)
- 如何避免Redis库存超卖问题:最佳实践(redis库存超卖)
- 探寻虚拟机中的Redis之旅(访问 虚拟机 redis)
- 一键批量执行Redis命令,拥抱高效操作(批量执行redis命令)
- 本地环境安装Redis,为你指路(怎么在本地安装redis)
- 探索Redis集群状态一窥架构内部真实面貌(查看redis集群的状态)
- 深入研究查看Redis密码的IP地址(查看redis密码 ip)
- 用yum安装Redis,简单快捷(用yum装redis)
- 一键批量清理Redis缓存,释放系统性能(批量清理redis缓存)
- 原汁原味对Redis的全面评测(原生redis评测)
- Redis助力解决高并发问题(利用redis解决高并发)
- 深入探究如何解决Redis问题(如何解决redis问题)
- 商城项目中,Redis的妙用(商城项目redis作用)
- 商城怎样运用Redis提升性能(商城如何用redis缓存)
- Redis面试必备解决面试中的Redis问题(redis面试题解决问题)
- 基于Redis集群的消息订阅及消息丢失问题研究(redis集群订阅丢消息)
- 搭建Redis集群,解决你的问题(redis集群怎么弄啊)
- Redis队列记录日志保存的可靠性(redis队列保存日志)
- 解决Redis重启导致的数据过期问题(redis重启数据过期)
- 问题解决Redis集群单数台无法集群问题(redis集群单数台)
- 使用Redis解决请求唯一性校验问题(redis请求唯一性校验)
- Redis优化如何大幅缩短获取连接的时间(redis获取连接时间)
- 利用Redis实现远程批量删除数据(redis远程批量删除)
- 了解的Redis批量清除一次性了解多少(redis 清除所有可以)