计算20w的热点数据占据内存的大小。然后在Redis中,配置最大内存容量,在redis.conf文件maxmemory 标签中配置。
当redis内存数据大小上升到一定大小的时候,就会施行数据淘汰策略。
Redis中提供了6中数据淘汰策略:
1.volatitle-lru从设置了过期时间的数据集中,选择最近最少使用的数据删除
2.volatitle-ttl从设置了过期时间的数据集中,选择将要过期的数据删除
3.volatitle-random 从设置了过期时间的数据中,随机选择数据进行删除
4.Allkeys-lru从数据集中挑选最近最少使用的数据删除
5.Allkeys-random 从数据集中随机挑选数据进行淘汰
6.no-enviction(驱逐):禁止淘汰数据
因为我们的应用保存热点数据,也就是对缓存的访问符合幂律分布,所以应该选择Allkeys-lru淘汰策略。存放热点数据,不能为数据设置过期时间,设置过期时间也会占用内存。
MySQL里有2000w数据,redis中只存20w数据,如何保证redis中数据都是热点数据
标签:如何 mysql sql key memory lru 保存 选择 env
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:https://www.cnblogs.com/sxshe/p/12165590.html