MySQL里有2000w数据,redis中只存20w数据,如何保证redis中数据都是热点数据
Posted 泳之
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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淘汰策略。存放热点数据,不能为数据设置过期时间,设置过期时间也会占用内存。
以上是关于MySQL里有2000w数据,redis中只存20w数据,如何保证redis中数据都是热点数据的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如 何保证 redis 中的数据都是热点数据?
MySQL里有2000w 数据,redis 中只存20w 的数据,如何保证redis 中的数据都是热点数据?