Redis中的批量删除数据库中的Key

批量删除Key

Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作

redis-cli keys "*" | xargs redis-cli del  
//如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径  
//如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del

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

redis-cli -a password keys "*" | xargs redis-cli -a password del

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

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

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

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

 

其它形式的通过redis的key删除:

1.

如果key包含空格像:
a log message       message1
vip user          peter
vip user            mark
vip user          mary
可以通过加引号来删除
DEL "a log message"
DEL " vip user " 
不过不推荐在key中使用空格,最好使用冒号来分割字段

例如vip:user:mary
一些文档使用下划线,按理驼峰应该也可以了

2.
另外 redis 的 DEL是可以批量删除的,使用空格隔开
DEL key1 key2
会返回成功删除的个数
(integer) 2
对于有空格的key需要用引号包含起来
DEL ”vip user mark" "vip user mary"
(integer) 2

本文参考:

https://www.cnblogs.com/DreamDrive/p/5772198.html
http://blog.csdn.net/spring21st/article/details/15771861
http://stackoverflow.com/questions/5756067/how-to-empty-a-redis-database
http://stackoverflow.com/questions/4006324/how-to-atomically-delete-keys-matching-a-pattern-using-redis

转载于:https://my.oschina.net/u/1260221/blog/1617072

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值