在正常情况下,各数据分片节点的Key数量是均匀分布的,同时内存使用率、CPU使用率等性能指标也是相近的。一般是在使用Redis的过程中,设计考虑不周、不规范的数据写入及突发的访问量,造成redis个别的节点数据量倾斜或数据访问倾斜,最终引起数据倾斜。常见倾斜场景有:内存倾斜。一般由于大key问题或者使用hash Tages集中到某个节点;带宽倾斜。大key 热key 高消耗命令造成 访问节点占用带宽;CPU倾斜。大key 热key 高消耗命令造成CPU使用率偏高。解决方案主要有:减少大key的使用,或者对大key进行拆分成多个 hash key;禁止使用高消耗命令,或者流量高峰期禁止使用;减少Hash Tags的使用;增加本地缓存,减少热key对Redis的压力;提高内存配置和带宽等资源,从硬件角度减少数据倾斜带来的问题。