缓存穿透
定义
危害
如果海量请求查询压根就不存在的数据,
那么这些请求都会落到数据库中,
数据库压力剧增,可能会导致系统崩溃
解决
(1)缓存空数据
(2)BloomFilter:它需要在缓存之前再加一道屏障,里面存储目前数据库中存在的所有key
缓存雪崩
定义
缓存因某种原因发生了宕机,那么原本被缓存抵挡的海量查询请求就会像疯狗一样涌向数据库。
此时数据库如果抵挡不了这巨大的压力,它就会崩溃。这就是缓存雪崩
解决
(1)使用缓存集群,提高缓存的高可用性
(2)使用防雪蹦的软件 会监控请求的失败率 当达到与设置时就会 熔断、降级、限流
热点数据集中失效
定义
一些请求量极高的热点数据而言,一旦过了有效时间,此刻将会有大量请求落在数据库上,从而可能会导致数据库崩溃
解决
使用缓存自带的锁机制,当第一个数据库查询请求发起后,就将缓存中该数据上锁;
此时到达缓存的其他查询请求将无法查询该字段,从而被阻塞等待;当第一个请求完成数据库查询,并将数据更新值缓存后,释放锁;此时其他被阻塞的查询请求将可以直接从缓存中查到该数据
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!
链接: https://fly63.com/article/detial/3552