hash类型批量操作

2020-12-09  本文已影响0人  闲云野鹤_23dd

HMSET

语法

HMSET hashKey field value [field value …]

同时将多个 field-value (字段-值)对设置到哈希表 key 中。
此命令会覆盖哈希表中已存在的字段。

如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作。
如果命令执行成功,返回 OK 。
当 key 不是哈希表(hash)类型时,返回一个错误。

例子

redis> HMSET website google www.google.com yahoo www.yahoo.com
OK

redis> HGET website google
"www.google.com"

redis> HGET website yahoo
"www.yahoo.com"

HMGET

语法

HMGET hashKey field [field …]

返回哈希表 key 中,一个或多个给定字段的值。

如果给定的字段不存在于哈希表,那么返回一个 nil 值。
因为不存在的 key 被当作一个空哈希表来处理,所以对一个不存在的 key 进行 HMGET 操作将返回一个只带有 nil 值的表。

语法

redis> HMSET pet dog "doudou" cat "nounou"    # 一次设置多个字段
OK

redis> HMGET pet dog cat fake_pet             # 返回值的顺序和传入参数的顺序一样
1) "doudou"
2) "nounou"
3) (nil)                                      # 不存在的字段返回nil值

HKEYS

语法

HKEYS hashKey

返回哈希表 key 中的所有字段。

例子

# 哈希表非空

redis> HMSET website google www.google.com yahoo www.yahoo.com
OK

redis> HKEYS website
1) "google"
2) "yahoo"

# 空哈希表/key不存在

redis> EXISTS fake_key
(integer) 0

redis> HKEYS fake_key
(empty list or set)

HVALS

语法

HVALS hashKey

返回哈希表 key 中所有字段的值。
当 key 不存在时,返回一个空表。

例子

# 非空哈希表

redis> HMSET website google www.google.com yahoo www.yahoo.com
OK

redis> HVALS website
1) "www.google.com"
2) "www.yahoo.com"

# 空哈希表/不存在的key

redis> EXISTS not_exists
(integer) 0

redis> HVALS not_exists
(empty list or set)
上一篇 下一篇

猜你喜欢

热点阅读