首页/数据/Redis 进阶速查/超大 hash 的分桶拆分
内存与管理99 条

超大 hash 的分桶拆分

把超大 hash 按取模分桶为多个小 hash(如 user:tag:1001:0..N),单键操作 O(1),也便于分批迁移与压缩编码受益。

Redis 进阶速查数据更新于 2026-10-12
分桶键biz:key:<id>:<shard>
桶数按单桶元素目标量反推
收益缩小单键、控制单次操作规模

示例

示例
HSET user:tag:1001:3 tag:88 1
HGET user:tag:1001:3 tag:88
查询需先算分桶再落到具体键,客户端封装统一入口避免散落。

易错点

  • 分桶函数必须稳定,变更分片规则等于全量数据迁移
  • 小 hash 过多会提升键与过期表开销,权衡桶数

数据来源与参考

  • Redis 官方实践:hash 分片模式
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌