首页/数据/Redis 进阶速查/HGETALL 大 hash 的读法
性能与排障129 条

HGETALL 大 hash 的读法

大 hash 上用 HGETALL 会一次性返回全部字段并占用输出缓冲;改造方向:HSCAN 分页、按业务拆分小 hash、只取需要字段的 HMGET。

Redis 进阶速查数据更新于 2026-10-12
分页HSCAN cursor COUNT n
定向HMGET 取指定字段
结构拆分为多个小 hash

示例

示例
redis-cli HSCAN big:hash 0 COUNT 100
redis-cli HMGET big:hash f1 f2
读法优化的起点是明确调用方真正需要哪些字段。

易错点

  • 大 hash 全量读会同时占用服务端与客户端内存
  • HSCAN 游标遍历中字段增删,语义要按弱一致接受

数据来源与参考

  • Redis 官方文档:HSCAN 与 hash 访问
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌