乐趣区

关于java:Java面试准备跳槽那这期面试题必须要会请描述一下Redis的缓存淘汰策略

“请你形容一下 Redis 的缓存淘汰策略”

你如果你正好遇到这个问题,想好怎么答复了吗?

对于这个问题,我把高手的答复整顿到了 15W 字的面试文档外面

大家能够私信留言支付。

上面看看高手的答复。

高手:

这个问题我须要从三个方面来答复。

第一个方面:

当 Redis 应用的内存达到 maxmemory 参数配置的阈值的时候,Redis 就会依据配置的内存淘汰策略。

把拜访频率不高的 key 从内存中移除。

maxmemory 默认状况是以后服务器的最大内存。

第二个方面:

Redis 默认提供了 8 种缓存淘汰策略,这 8 种缓存淘汰策略总的来说,我认为能够归类成五种

  • 第一种,采纳 LRU 策略,就是把不常常应用的 key 淘汰掉
  • 第二种,采纳 LFU 策略,它在 LRU 算法上做了优化,减少了数据拜访次数,从而确保淘汰的是非热点 key。
  • 第三种,随机策略,也就是是随机删除一些 key
  • 第四种,ttl 策略,从设置了过期工夫的 key 外面,挑选出过期工夫最近的 key 进行优先淘汰
  • 第五种,当内存不够的时候,间接报错,这是默认的策略。

这些策略能够在 redis.conf 文件中手动配置和批改,咱们能够依据缓存的类型和缓存应用的场景来抉择适合的淘汰策略。

最初一个方面,咱们在应用缓存的时候,倡议是减少这些缓存的过期工夫。

因为咱们晓得这些缓存大略的生命周期,从而更好的利用内存。

总结

Redis 是一个内存数据库,而内存又是十分贵重的资源。

如何用无限的服务器资源来撑持更多业务,就必须要思考到缓存的淘汰算法把一些不怎么应用缓存淘汰掉。

因而,我认为这个面试题的考查方向也很好,倡议大家深度学习一下。

大家记得点赞珍藏加关注!!!

版权申明:本博客所有文章除特地申明外,均采纳 CC BY-NC-SA 4.0 许可协定。转载请注明来自 Mic 带你学架构
如果本篇文章对您有帮忙,还请帮忙点个关注和赞,您的保持是我一直创作的能源。欢送关注同名微信公众号获取更多技术干货!

退出移动版