面试总结 —— Redis “缓存穿透”、“缓存击穿”、“缓存雪崩”

前几天去面试了,吃了点亏。
面试官问我,你知道 “缓存穿透”、“缓存击穿”、“缓存雪崩” 吗?
我当时确实不知道这些高大上的名词是什么意思,就是我没听过,不知道是啥意思,面试官说,你这方面好薄弱啊~~~
面试结束之后我百度了一下,我去,看起来高大上的名字,其实是很常见的场景,相信很多人都会处理,
缓存穿透 : DB承受了没有必要的查询流量,意思就是查到空值的时候没有做缓存处理,再次查询的时候继续读库了
缓存击穿:热点Key,大量并发读请求引起的小雪崩, 就是缓存在某个时间点过期的时候,恰好在这个时间点对这个Key有大量的并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮
缓存雪崩:缓存设置同一过期时间,引发的大量的读取数据库操作

分享一个讲解的链接:https://www.jianshu.com/p/fef1c22d63cb

专业术语还是得多了解一下,不然即使自己能解决的问题,别人用专业术语问的也不知道是个什么东西

每天进步一点点,多年以后再回头,就会发现自己不知不觉走了很远很远

本帖由系统于 2周前 自动加精
讨论数量: 6

不错,但是看了又会忘记

2个月前 评论

@kaidy 我也是看了很多遍才记住哪个名称对应哪个意思

2个月前 评论
Nick

feed流中的「写扩散」「读扩散」也可以了解一下

2个月前 评论
PHPer技术栈

感谢分享

2个月前 评论
GhostCoder

原理都好理解 不过现在名词多了也难受

2天前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!