批量删除redis数据库中的key

Posted CloudArrows

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量删除redis数据库中的key相关的知识,希望对你有一定的参考价值。

在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中keys

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

redis cluster集群批量删除中的key

Redis批量删除keys

redis模糊批量清除key

redis集群批量删除指定的key