淘宝二面:MySQL里有2000万条数据,但是Redis中只存20万的数据,如何保证redis中的数据都是热点数据?
J1mmy-Z:
太理论了,实际生产中redis到达80%基本就要扩容了,哪里能等到缓存满了靠淘汰策略来删除😂 要么就缓存离线同步,要么就过期时间搞短一点。
【回复】有的生产环境确实可以缓存稳定100%靠淘汰策略,看业务和实测
patricksuo:
得先看这个数据的访问、分布规律、业务上的一致性要求
乌贼娘是墨鱼:
理论:一堆文字一堆算法一顿扯。
实际:买了直通车的数据放进去。
TDTD動畫:
淘宝的热点是可控的,跟兄弟部门打声招呼让推荐系统用redis的数据就可以了
eternalstone:
上来就LFU,人家题目也没说redis内存大小存20w就满了啊
天上掉下个水杯:
一般不会依赖redis缓存压力过高时的策略去清除,首先时考虑扩容集群,或者调整过期时间减轻过期压力。通过这种默认策略不论是lfu还是lru这类算法,在失去局部性和对缓存数据的局部性情况无法有效控制的时候,很容易出现极端情况下的缓存永远无法命中
话说最近为什么自动推那么多没营养的卖课视频[辣眼睛]
麻吉纪:
就是设置过期策略,不用我们自己去选举,分访问次数,逐层延长过期时间
leonstarr:
有钱 买设备 没钱搞自己用c 写一个服务[呲牙]
YggoCN:
方法很多吧。。。没有最好的,只有最合适的,你要我保证就是单独做一个销毁和计数机制呗,定时检测不达标就让位
snake1817:
[吃瓜]从小到大的全部课程有多少万字。
科技猎手 科技 mysql面试题 面试 数据库 计算机技术 MySQL java Redis redis面试题