HDEL key field [field …]
删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。
在Redis2.4以下的版本里, HDEL 每次只能删除单个域,如果你需要在一个原子时间内删除多个域,请将命令包含在 MULTI / EXEC块内。
可用版本:
2.0.0+
时间复杂度:
O(N), N 为要删除的域的数量。
返回值:
被成功移除的域的数量,不包括被忽略的域。
测试数据
redis> HGETALL abbr
1) "a"
2) "apple"
3) "b"
4) "banana"
5) "c"
6) "cat"
7) "d"
8) "dog"
删除单个域
redis> HDEL abbr a
(integer) 1
删除不存在的域
redis> HDEL abbr not-exists-field
(integer) 0
删除多个域
redis> HDEL abbr b c
(integer) 2
redis> HGETALL abbr
1) "d"
2) "dog"
HEXISTS key field
查看哈希表 key 中,给定域 field 是否存在。
可用版本:
2.0.0+
时间复杂度:
O(1)
返回值:
如果哈希表含有给定域,返回 1 。
如果哈希表不含有给定域,或 key 不存在,返回 0 。
redis> HEXISTS phone myphone
(integer) 0
redis> HSET phone myphone nokia-1110
(integer) 1
redis> HEXISTS phone myphone
(integer) 1
HGET key field
返回哈希表 key 中给定域 field 的值。
可用版本:
2.0.0+
时间复杂度:
O(1)
返回值:
给定域的值。
当给定域不存在或是给定 key 不存在时,返回 nil 。
域存在