缓存穿透
缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。
缓存雪崩
缓存雪崩是指在我们设置缓存时采用了相同的过期时间,导致缓存在某一时刻同时失效,请求全部转发到DB,DB瞬时压力过重雪崩。
缓存击穿
对于一些设置了过期时间的key,如果这些key可能会在某些时间点被超高并发地访问,是一种非常“热点”的数据。这个时候,需要考虑一个问题:缓存被“击穿”的问题,这个和缓存雪崩的区别在于这里针对某一key缓存,前者则是很多key。
具体解决方案参考:https://blog.youkuaiyun.com/zeb_perfect/article/details/54135506
本文深入探讨了缓存穿透、缓存雪崩及缓存击穿现象,解释了这些故障如何影响系统性能,尤其是在高流量场景下对数据库造成的压力。文章还区分了缓存击穿与缓存雪崩的不同之处,并提供了缓解这些问题的策略。
408

被折叠的 条评论
为什么被折叠?



