HMGET:一次获取多个字段的值

通过使用 HMGET 命令,用户可以一次从散列里面获取多个字段的值:

  1. HMGET hash field [field ...]

HMGET 命令将按照用户给定字段的顺序依次返回与之对应的值。


图 3-18 储存文章数据的散列_images/IMAGE_HMGET_EXAMPLE.png


比如对于图 3-18 所示的 article::10086 散列来说,我们可以使用以下命令来获取它的 author 字段和 created_at 字段的值:

  1. redis> HMGET article::10086 author created_at
  2. 1) "peter" -- author 字段的值
  3. 2) "1442744762.631885" -- created_at 字段的值

又或者使用以下命令来获取它的 title 字段和 content 字段的值:

  1. redis> HMGET article::10086 title content
  2. 1) "greeting" -- title 字段的值
  3. 2) "hello world" -- content 字段的值

HGET 命令一样,如果用户向 HMGET 命令提供的字段或者散列不存在,那么 HMGET 命令将返回空值作为结果:

  1. redis> HMGET article::10086 title content last_updated_at
  2. 1) "greeting"
  3. 2) "hello world"
  4. 3) (nil) -- last_updated_at 字段不存在于 article::10086 散列
  5.  
  6. redis> HMGET not-exists-hash field1 field2 field3 -- 散列不存在
  7. 1) (nil)
  8. 2) (nil)
  9. 3) (nil)

其他信息

属性
复杂度O(N),其中 N 为用户给定的字段数量。
版本要求HMGET 命令从 Redis 2.0.0 版本开始可用。