嗨客网搜索
Redis-cli命令
Redis HDEL命令

Redis HDEL命令教程

RedisHDEL 命令用于删除 哈希表 KEY 中的一个或多个指定域,不存在的域将被忽略。在 Redis 2.4 以下的版本里, HDEL 每次只能删除单个域。

Redis HDEL命令详解

语法

192.168.98.70:6379> HDEL KEY field [field ...]

参数

参数 描述
KEY 要删除的 HASH 的键。
field 要删除的 HASH 的域。

返回值

被成功移除的域的数量,不包括被忽略的域。

时间复杂度

O(N), N 为要删除的域的数量。

可用版本

>= 2.0.0

案例

删除单个field

单个 field 存在,删除成功

192.168.98.70:6379> HMSET haidcoder site www.haicoder.net module Database category Redis OK 192.168.98.70:6379> HDEL haidcoder category (integer) 1 192.168.98.70:6379> HGETALL haidcoder 1) "site" 2) "www.haicoder.net" 3) "module" 4) "Database" 192.168.98.70:6379> DEL haidcoder (integer) 1

我们首先,使用 HMSET 命令,批量设置键 haidcoder 的 site 字段,module 字段,和 category 字段。接着,我们使用 HDEL 命令,删除键 haidcoder 的 category 字段,返回 1 表示删除成功。

最后,我们使用 HGETALL 命令,获取所有的字段和字段值的列表,发现此时字段 category 和其对应的值都已经不存在。

删除多个field

删除多个 field,返回删除成功的个数

192.168.98.70:6379> HMSET haidcoder site www.haicoder.net module Database category Redis OK 192.168.98.70:6379> HDEL haidcoder module category (integer) 2 192.168.98.70:6379> HGETALL haidcoder 1) "site" 2) "www.haicoder.net 192.168.98.70:6379> DEL haidcoder (integer) 1

我们首先,使用 HMSET 命令,批量设置键 haidcoder 的 site 字段,module 字段,和 category 字段。并使用 HDEL 命令,删除键 haidcoder 的 module 字段和 category 字段,返回 2 表示成功删除了两个字段。

最后,我们使用 HGETALL 命令,获取所有的字段和字段值的列表,发现此时 module 字段和 category 字段以及它们其对应的值都已经不存在。

删除不存在field

field 不存在,删除成功

192.168.98.70:6379> HMSET haidcoder site www.haicoder.net module Database category Redis OK 192.168.98.70:6379> HDEL haidcoder category (integer) 1 192.168.98.70:6379> HDEL haidcoder category (integer) 0 192.168.98.70:6379> HDEL haidcoder module category (integer) 1 192.168.98.70:6379> HGETALL haidcoder 1) "site" 2) "www.haicoder.net" 192.168.98.70:6379> DEL haidcoder (integer) 1

我们首先,使用 HMSET 命令,批量设置键 haidcoder 的 site 字段,module 字段,和 category 字段。接着,使用 HDEL 命令,删除键 haidcoder 的 category 字段,返回 1 表示删除成功。

再次使用 HDEL 命令,删除键 haidcoder 的 category 字段,返回 0 表示删除失败,因为之前我们已经删除了该字段。

最后,我们使用 HGETALL 命令,获取所有的字段和字段值的列表,发现此时只剩下字段 site 和其对应的值。

Redis HDEL命令总结

Redis 的 HDEL 命令用于删除哈希表 KEY 中的一个或多个指定域,不存在的域将被忽略。Redis HDEL 命令语法:

192.168.98.70:6379> HDEL KEY field [field ...]
嗨客网顶部