首页/数据/Redis 进阶速查/CROSSSLOT 错误与多 key 限制

CROSSSLOT 错误与多 key 限制

集群模式下多 key 命令(MGET、MSET、SINTERSTORE、事务、Lua)要求所有键在同一槽,否则报 CROSSSLOT Keys in request do not hash to the same slot。

Redis 进阶速查数据更新于 2026-10-12
触发多 key 操作且键跨槽
解决哈希标签同槽,或改单键操作
例外部分只读多 key 命令可先用 hashtag 规划数据布局

报错示例

报错示例
redis-cli -c -p 7000 MGET k1 k2
# (error) CROSSSLOT Keys in request do not hash to the same slot
工程实践:按业务主体打标签(如 {user1001}:profile 与 {user1001}:orders),让相关键稳定同槽。

易错点

  • 用客户端循环单键替代多 key 命令会放大往返次数,先评估改造收益
  • 标签粒度太粗会造成单槽热点,分片容量规划要与标签设计一起做

数据来源与参考

  • Redis 官方文档:集群多 key 限制说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌