1. HMGET key field [field ...]
起始版本:2.0.0
时间复杂度:O(N) , N 为给定域的数量。
返回哈希表 key 中,一个或多个给定域的值。
如果给定的域不存在于哈希表,那么返回一个 nil 值。
因为不存在的 key 被当作一个空哈希表来处理,所以对一个不存在的 key 进行 HMGET 操作将返回一个只带有 nil 值的表。
1.1. 返回值:
一个包含多个给定域的关联值的表,表值的排列顺序和给定域参数的请求顺序一样。
1.2. demo
# 如果key不存在,相当于从一个空hash表里取field的值,依次返回nil值
127.0.0.1:6380> EXISTS user:8
(integer) 0
127.0.0.1:6380> HMGET user:8 id name
1) (nil)
2) (nil)
# 如果field已存在,返回每个field对应的值,不存在的field返回nil
127.0.0.1:6380> HMSET user:8 id 8 name user8
OK
127.0.0.1:6380> HMGET user:8 id name age
1) "8"
2) "user8"
3) (nil)
# 如果key不是hash类型,返回一个错误
127.0.0.1:6380> SET key8 v8
OK
127.0.0.1:6380> HMGET key8 id name age
(error) WRONGTYPE Operation against a key holding the wrong kind of value