redis如何批量删除key
更新:HHH   时间:2023-1-7


redis如何批量删除key?相信有很多人都不太了解,今天小编为了让大家更加了解redis批量删除key的方法,所以给大家总结了以下内容,一起往下看吧。

Redis是一个高性能的key-value数据库。redis中可以借助Linux的xargs指令来批量删除key,也可以使用flushdb和flushall命令删除所有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删除:

如果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

一些文档使用下划线,按理驼峰应该也可以了

另外 redis 的 DEL是可以批量删除的,使用空格隔开

DEL key1 key2

会返回成功删除的个数

(integer) 2

对于有空格的key需要用引号包含起来

DEL ”vip user mark" "vip user mary"
(integer) 2

关于redis如何批量删除key就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

返回关系型数据库教程...