*HKEYS 命令
返回 Hash 中所有的 field 名。
*语法
HKEYS key
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | Hash 的键名 |
*返回值
| 条件 | 返回值 |
|---|---|
| key 存在 | field 名数组 |
| key 不存在 | 空数组 [] |
| key 非 Hash | WRONGTYPE 错误 |
*时间复杂度
O(N),N 为 field 数量。
*示例
> HSET user:1001 name Alice age 30
(integer) 2
> HKEYS user:1001
1) "name"
2) "age"
*常见错误
- 大 Hash 阻塞:field 数量大时 HKEYS 会阻塞 Redis,应使用 HSCAN。
*最佳实践
- field 数量可控时用:field < 1000 时可用,更大时用 HSCAN。
- 调试排查:快速查看 Hash 结构有哪些字段。
*FAQ
Q: HKEYS 和 HSCAN 怎么选择? A: field 少时用 HKEYS;field 多时用 HSCAN 分批遍历。