缓存 雪崩 穿透 击穿

网友投稿 1041 2022-10-01

缓存 雪崩 穿透 击穿

缓存 雪崩 穿透 击穿

缓存雪崩

原因:缓存雪崩是并发量过大带来的一系列的雪崩效应。大量的请求涌入缓存导致缓存无法处理挂掉,接着大量的请求会涌入数据库导致数据库挂掉。

分析:处理此问题的关键就是避免并发量大的时候缓存不要挂掉,或者说即使挂掉一个缓存还会有备用的缓存顶上。解决:​​Redis缓存模式​​

缓存穿透

原因:缓存穿透 是客户端发起一个缓存中不存在的请求需要进入数据库,这样数据量庞大的时候会导致数据库压力过大挂掉,如数据库中的某个ID不存在所以不会同步到缓存中,而请求不停的请求这个ID导致请求全部穿透缓存进入数据库查找,此时的缓存已经是摆设了。

分析 :

缓存穿透的几种情况:

查询非常规范围的ID 如: -1.-2,99999999等查询某ID的数据已经被删除,该ID随属于正常ID范围但数据不存在查询非热点数据,该数据不进入缓存

解决 解决方案就是针对特定的穿透方案进行解决

对于非常规ID进行范围限定,非正常范围内的ID直接返回以删除数据的ID可以同步到缓存设置一个空值非热点数据大量访问可能是攻击者,限制其访问

缓存击穿

原因:通常缓存会有过期时间,缓存过期后请求会进入数据库进行查询。并发量大的情况下,缓存过期的瞬间会造成大量请求涌入数据库导致数据库挂掉。

解决:缓存击穿的问题在于数据过期的瞬间如何处理

设置热点数据永不过期加锁,当数据过期的瞬间,数据库内容到缓存时进行加锁。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot 整合RocketMq实现消息过滤功能
下一篇:实践总结小程序性能优化(程序性能优化方法)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~