MySQL里有2000w数据,redis中只存20w数据,如何保证redis中数据都是热点数据

2023-06-29 22:36:09 浏览数 (2)

首先分析上面的问题,2000w的数据只保留20w的热点,也就是频繁访问的数据。我们要解决的问题有两个:

(1).保留热点数据

(2).保证redis只存入20w的数据。

首先热点数据就是频繁访问的数据,我们可以通过redis的淘汰策略来完成,这里推荐Allkeys-lru淘汰策略,该淘汰策略从数据集中挑选最近最少使用的数据删除。

再者需要解决的问题是只存入20w的数据,目前来看只能通过redis的内存限制来实现,计算20w数据使用内存大小进行预设置内存大小实现。或许内存大小不好计算,但是我们可以只记录热点数据的主键id,redis只保存热点数据主键id,而主键id一般都是定长的,大小利于计算。

0 人点赞