Redis 切片集群的数据倾斜分析

Redis切片集群:数据倾斜的原因与解决方案
本文分析了Redis切片集群中数据倾斜的两种情况:数据量倾斜和数据访问倾斜。数据量倾斜主要由bigkey、Slot分配不均衡和Hash Tag使用不当引起。数据访问倾斜则是由于Hot Key导致的。文章提供了发现和解决Hot Key的方法,并总结了解决数据倾斜的策略。

Redis 中如何应对数据倾斜

什么是数据倾斜

如果 Redis 中的部署,采用的是切片集群,数据是会按照一定的规则分散到不同的实例中保存,比如,使用 Redis Cluster 或 Codis 。

数据倾斜会有下面两种情况:

1、 数据量倾斜 :在某些情况下,实例上的数据分布不均衡,某个实例上的数据特别多。

2、 数据访问倾斜 :虽然每个集群实例上的数据量相差不大,但是某个实例上的数据是热点数据,被访问得非常频繁。

发生了数据倾斜,会造成那些数据量大的和访问量高的实例节点,系统的负载升高,响应速度变慢。严重的情况会造成内存资源耗尽,引起系统崩溃。

数据量倾斜

数据量倾斜,也就是实例上的数据分布不均衡,某个实例中的数据分布得特别多 。

数据量的倾斜,主要有下面三种情况:

1、bigkey导致倾斜;

2、Slot分配不均衡导致倾斜;

3、Hash Tag导致倾斜。

下面来一一的分析下

bigkey导致倾斜

什么是 bigkey :我们将含有较大数据或含有大量成员、列表数据的 Key 称之为大Key。

  • 一个 STRING 类型的 Key,它的值为 5MB(数据过大)
  • 一个 LIST 类型的 Key,它的列表数量为 20000 个(列表数量过多)
  • 一个 ZSET 类型的 Key,它的成员数量为 10000 个(成员数量过多)
  • 一个 HASH 格式的 Key,它的成员数量虽然只有 1000 个但这些成员的 value 总大小为 100MB(成员体积过大)

如果某个实例中保存了 bigkey ,那么就有可能导致集群的数据倾斜。

bigkey 存在问题

  • 内存空间不均
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值