首页/数据/数据库速查/Hash Tag 同槽技巧({} 包裹)
Redis 运维与场景124 条

Hash Tag 同槽技巧({} 包裹)

用 {} 指定哈希部分:只有花括号内参与 CRC16 计算,user:{88}:name 与 user:{88}:cart 一定同槽,从而支持 MGET/事务/Lua。

数据库速查数据更新于 2026-10-12

示例

示例
CLUSTER KEYSLOT user:88:name
CLUSTER KEYSLOT user:1001:name
# 两个不同用户通常不同槽;改造后:
CLUSTER KEYSLOT user:{88}:name    # 与下面同槽
CLUSTER KEYSLOT user:{88}:cart
MGET user:{88}:name user:{88}:cart  # 同槽,OK
语法{tag} 中内容参与哈希
多键要求同槽才能用 MGET/MSET/事务/Lua
代价tag 选择不均会造成热点槽
hash tag 是「获得同槽能力」的唯一正路;不要用随机后缀分桶后再抱怨无法批量读,设计时先定访问模式。

易错点

  • tag 用固定字符串(如 {cache}):所有键挤到一个槽,集群退化成单机
  • tag 粒度太粗:热点用户所在槽压力集中

数据来源与参考

  • Redis 官方文档: Cluster 规范(Hash tags)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌