码迷,mamicode.com
首页 > 数据库 > 详细

批量删除redis数据库中的key

时间:2017-08-22 00:37:51      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:redis   str   没有   方法   路径   注意   cli   序号   字段   

在redis数据库中,如果大量以某些字段开头或结尾的key,一般都会用到命令keys进行模糊匹配。但是当我们想删除批量指定的keys,却犯愁了,因为redis没有提供相关的命令。那我们怎么操作能实现预期的效果呢?

(1) 删除单个key

127.0.0.1:6379> del key

如果知道有限多个key的名字,以下操作也可以实现批量操作

127.0.0.1:6379> del key1 key2 key3 ....

当key的数量达到一定数量时,这个方法明显时不现实的。

注意:redis命令行默认使用空格来分割key值,如果刚好某个key的明早带有空格,则对于有空格的key需要用引号包含起来:

127.0.0.1:6379>del ”first key" "second key"

(2) 批量删除key

批量删除key,我们可以借助Linux 的 xargs 指令来完成这个动作

127.0.0.1:6379>redis-cli keys "a*" | xargs redis-cli del
说明:如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径  
比如:/usr/local/redis/redis-cli keys "a*" | xargs /usr/local/redis/redis-cli del  

如果要指定 Redis 数据库访问密码,使用下面的命令

127.0.0.1:6379>redis-cli -a password keys "a*" | xargs redis-cli -a password del 

如果要访问 Redis 中特定的数据库,使用下面的命令

//下面的命令指定数据序号为0,即默认数据库  
127.0.0.1:6379>redis-cli -n 0 keys "a*" | xargs redis-cli -n 0 del

(3) 删除所有Key
删除所有Key,可以使用Redis的flushdb和flushall命令

//删除当前数据库中的所有Key  
flushdb  
//删除所有数据库中的key  
flushall 

 

批量删除redis数据库中的key

标签:redis   str   没有   方法   路径   注意   cli   序号   字段   

原文地址:http://www.cnblogs.com/bdhk/p/7407193.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!