码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-01-08 12:34:41      阅读:402      评论:0      收藏:0      [点我收藏+]

标签:如何   mysql   sql   key   memory   lru   保存   选择   env   

计算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淘汰策略。存放热点数据,不能为数据设置过期时间,设置过期时间也会占用内存。

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

标签:如何   mysql   sql   key   memory   lru   保存   选择   env   

原文地址:https://www.cnblogs.com/sxshe/p/12165590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!