Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/redis-command-del.html

Redis DEL 命令

Redis 键(Keys) Redis 键(Keys)


Redis DEL 命令删除指定的一个或多个 key。如果指定的 key 不存在,则该操作会被忽略。

命令格式

DEL key [key ...]

可用版本:>=1.0.0

时间复杂度:O(N),N 为被删除的 key 的数量。删除单个字符串类型的 key 时,时间复杂度为 O(1)。删除单个列表、集合、有序集合或哈希表类型的 key,时间复杂度为 O(M),M 为以上数据结构内的元素数量。

命令返回值

被删除的 key 数量。

扩展

我们知道 DEL 命令可以删除多个 key,除此之外,还可以通过 redis-cli 命令结合 Linux 的内容传递命令 xargs 来批量删除,如下:

redis> set k1 1
OK
redis> set k2 2
OK
redis> set k3 3
OK
redis-cli -h <hostname> -a <password> keys 'k*' | xargs redis-cli -h <hostname> -a <password> del
(integer) 3

注:如果 redis-cli 没有设置成系统变量,需要指定 redis-cli 的完整路径。

删除当前数据库的所有 key 的命令为 FLUSHDB,即清除一个数据库;删除所有数据库的所有 key(所有数据)的命令为 FLUSHALL,即清除整个 redis 数据。

示例

redis> SET key1 Hello
OK
redis> DEL key1            #  删除单个 key
(integer) 1
redis> EXISTS key2
(integer) 0
redis> DEL key2            #  删除一个不存在的 key
(integer) 0
redis> SET key3 Hello
OK
redis> SET key4 Hello
OK
redis> DEL key3 key4 key5  #  批量删除,key5 不存在,则忽略
(integer) 2