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


计算20w的热点数据占据内存的大小。然后在Redis中,配置最大内存容量,在redis.conf文件maxmemory <bytes>标签中配置。
当redis内存数据大小上升到一定大小的时候,就会施行数据淘汰策略。
Redis中提供了6中数据淘汰策略:
1.volatitle-lru 从设置了过期时间的数据集中,选择最近最少使用的数据删除
2.volatitle-ttl 从设置了过期时间的数据集中,选择将要过期的数据删除
3.volatitle-random 从设置了过期时间的数据中,随机选择数据进行删除
4.Allkeys-lru 从数据集中挑选最近最少使用的数据删除
5.Allkeys-random 从数据集中随机挑选数据进行淘汰
6.no-enviction(驱逐):禁止淘汰数据
因为我们的应用保存热点数据,也就是对缓存的访问符合幂律分布,所以应该选择Allkeys-lru淘汰策略。存放热点数据,不能为数据设置过期时间,设置过期时间也会占用内存。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM