在Redis Cluster中发现某个节点内存使用率远高于其他节点(即发生数据倾斜或内存倾斜),通常是由以下几个原因引起的:Slot(槽位)分配不均、存在大Key(Big Key)、Hash Tag滥用、或者非数据内存(如客户端缓冲区、内存碎片)占用过大。 以下是标准的排查步骤和对应的解决方案: --- 第一阶段:排查原因 (Troubleshooting) 1. 检查 Slot (槽位) 分配是否均匀 Redis Cluster将数据分布在16384个Slot中。如果某个节点分配的Slot数量远多于其他节点,自然会导致内存占用更高。 排查命令: 观察:看每个Master节点负责的Slot数量是否大致相同(例如3个Master,每个应该在5461个左右)。 2. 检查 Key 的数量是否均匀 如果Slot分配是均匀的,但某个节点的Key数量远多于其他节点。 排查命令: 登录到各个Master节点,执行: 观察:对比各个节点的 后面的数字。如果某个节点Key数量特别多,大概率是使用了 Hash Tag。 Hash Tag 确认:检查业务代码,看是否大量使用了带有 的Key(例如 ,...