Cluster 集群
→ 返回 Redis
16384 个 Hash Slot,CRC16(key) % 16384 路由到节点。
redis-cli --cluster create host1:7000 ... host6:7005 --cluster-replicas 1
redis-cli -c -p 7000 cluster nodes
redis-cli -c -p 7000 cluster slots哈希标签(同 Slot)
# {user} 只 hash user 部分 → 多 key 同节点
MSET {user:1}:profile ... {user:1}:orders ...常见问题
| 问题 | 应对 |
|---|---|
| 热 key / 热点 slot | 本地缓存;key 加随机后缀再聚合;读副本 |
| 大 key | 拆分;HSCAN/SSCAN;UNLINK 异步删 |
| 跨 slot 事务 | MULTI 多 key 须同 slot;改 Lua 单 key |
| 跨 slot 多 key | MGET/SUNION 受限;Pipeline 分片聚合 |
| 扩容 | ASK/MOVED 重定向;低峰迁移 slot |
| 数据倾斜 | 监控 per-slot 内存;避免超级 key |
| 客户端 | JedisCluster / Lettuce Cluster,须集群模式 |
# MOVED:slot 已永久迁走
# ASK:slot 正在迁移
CLUSTER KEYSLOT mykey
CLUSTER COUNTKEYSINSLOT 1234Gossip:节点交换心跳与 slot 表;注意 pub/sub 风暴与 failover 频率。