后端工程师的高阶面经
邓明
前 Shopee 高级工程师,Beego PMC
6888 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 50 讲
后端工程师的高阶面经
15
15
1.0x
00:00/00:00
登录|注册

模拟面试|缓存面试思路一图懂

你好,我是大明。
恭喜你学完第四章的内容,又到了要验收成果的时刻了。缓存这一章的内容很重要,知识也很系统,所以为了帮助你更好地掌握这部分内容,我们在这里设置了面试题。
你在回答的时候,最好是能够写成一个个文档,至少也要口头上说一遍。千万不要仅仅在脑海里面回忆一遍。因为在真正面试的时候,脑海中的记忆到嘴里说出的话,还需要一个转换。

31 为什么 Redis 不立刻删除已经过期的数据?

Redis 是怎么删除过期 key 的?
Redis 为什么不立刻删除已经过期的 key?
Redis 为什么不每个 key 都启动一个定时器,监控过期时间?
Redis 是如何执行定期删除的?
为什么 Redis 在定期删除的时候不一次性把所有的过期 key 都删除掉?
当你从 Redis 上查询数据的时候,有可能查询到过期的数据吗?
当 Redis 生成 RDB 文件的时候,会怎么处理过期的 key?
当 Redis 重写 AOF 文件的时候,会怎么处理过期的 key?
Redis 定期删除的循环是不是执行得越频繁就越好?
如果设计一个本地缓存,你会怎么实现删除过期 key 的功能?
你是怎么确定过期时间的?过期时间太长会怎样,太短又会怎样?

32 缓存淘汰策略:怎么淘汰缓存命中率才不会下降?

你知道什么是 LFU,什么是 LRU 吗?可不可以手写一个?
什么情况下使用 LFU,什么情况下使用 LRU?
Redis 支持哪些淘汰策略?你们公司的 Redis 上的淘汰策略使用了哪个?为什么用这个?
你使用的本地缓存是如何控制内存使用量的?
你业务里面的缓存命中率有多高?还能不能进一步提高?怎么进一步提高?
假如说 A 和 B 两个业务共用一个 Redis,那么有办法控制 A 业务的 Redis 内存使用量吗?怎么控制?
现在我的业务里面有普通用户和 VIP 用户。现在我希望在缓存内存不足的时候,优先淘汰普通用户的数据,该怎么做?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了缓存面试中常见的问题和解决方案,涵盖了Redis的删除过期key、缓存淘汰策略、缓存模式、缓存一致性问题、缓存问题解决以及Redis单线程和分布式锁等内容。文章通过一系列问题和解答,深入浅出地介绍了缓存技术的核心知识点,包括Redis的工作原理、缓存淘汰策略的选择、缓存一致性问题的解决方案以及如何利用缓存提高整个应用的性能。读者可以通过阅读本文,快速了解缓存技术的重要概念和解决方案,为面试和实际工作中的应用提供了有益的参考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《后端工程师的高阶面经》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • peter
    请教老师几个问题: Q1:前面讲过ThreadLocal吗?如果没有,能否加餐讲一下? Q2:我准备做一个网站,需要用到Redis。是自己搭建Redis还是用云服务厂商的Redis?更进一步地说,整个网站,包括服务处理的机器,是采用云服务厂商的设备还是自己搭建? Q3:本地缓存,有现成的框架吗?还是自己开发?

    作者回复: 1. 这个是语言专属概念,一些语言是没有的,所以我没有加餐讲这个的计划。 2. 可以先自己部署,云服务太贵了! 3. 有现成的,基本上所有的语言都有!

    2023-09-18归属地:北京
  • 海浪
    先mark一下,正在准备面试,希望有帮助
    2024-03-19归属地:湖南
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部