*Redis HVALS 命令

返回 Hash 中所有 field 的 value。


*语法

HVALS key

*参数说明

参数 类型 必填 说明
key String Hash 的键名

*返回值

条件 返回值
key 存在 value 数组
key 不存在 空数组 []
key 非 Hash WRONGTYPE 错误

*时间复杂度

O(N),N 为 field 数量。


*示例

> HSET user:1001 name Alice age 30
(integer) 2

> HVALS user:1001
1) "Alice"
2) "30"

*常见错误

  1. 大 Hash 阻塞:同 HKEYS,大 Hash 会阻塞 Redis。

*最佳实践

  1. field 数量可控时用:field < 1000 时可用,更大时用 HSCAN + 过滤。
  2. HKEYS 配合HKEYS 和 HVALS 分别获取 field 和 value,顺序对应。

*FAQ

Q: HVALS 和 HGETALL 有什么区别? A: HGETALL 返回 [field1, value1, field2, value2, ...];HVALS 只返回 value 数组,顺序与 HKEYS 对应。