【Java面试】准备跳槽!那这期面试题必须要会,请描述一下Redis的缓存淘汰策略
2022/8/27 2:23:14
本文主要是介绍【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带你学架构
!
如果本篇文章对您有帮助,还请帮忙点个关注和赞,您的坚持是我不断创作的动力。欢迎关注「跟着Mic学架构」公众号公众号获取更多技术干货!
这篇关于【Java面试】准备跳槽!那这期面试题必须要会,请描述一下Redis的缓存淘汰策略的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22Java创业学习:初学者的全面指南
- 2024-11-22JAVA创业学习:零基础入门到实战应用教程
- 2024-11-22Java创业学习:从零开始的Java编程入门教程
- 2024-11-22Java对接阿里云智能语音服务学习教程
- 2024-11-22JAVA对接阿里云智能语音服务学习教程
- 2024-11-22Java对接阿里云智能语音服务学习教程
- 2024-11-22Java副业学习:零基础入门到实战项目
- 2024-11-22Java副业学习:零基础入门指南
- 2024-11-22Java微服务学习:入门与实践指南
- 2024-11-22JAVA项目部署学习:从入门到实践