资讯专栏INFORMATION COLUMN

缓存世界的三大问题

charles_paul / 1414人阅读

摘要:缓存穿透定义业务系统访问压根就不存在的数据,就称为缓存穿透。此时数据库如果抵挡不了这巨大的压力,它就会崩溃。

缓存穿透

定义

业务系统访问压根就不存在的数据,就称为缓存穿透。

危害

如果海量请求查询压根就不存在的数据,
那么这些请求都会落到数据库中,
数据库压力剧增,可能会导致系统崩溃

解决

(1)缓存空数据
(2)BloomFilter:它需要在缓存之前再加一道屏障,里面存储目前数据库中存在的所有key

缓存雪崩

定义

缓存因某种原因发生了宕机,那么原本被缓存抵挡的海量查询请求就会像疯狗一样涌向数据库。
此时数据库如果抵挡不了这巨大的压力,它就会崩溃。这就是缓存雪崩

解决

(1)使用缓存集群,提高缓存的高可用性
(2)使用防雪蹦的软件 会监控请求的失败率 当达到与设置时就会 熔断、降级、限流

热点数据集中失效

定义

一些请求量极高的热点数据而言,一旦过了有效时间,此刻将会有大量请求落在数据库上,从而可能会导致数据库崩溃

解决

使用缓存自带的锁机制,当第一个数据库查询请求发起后,就将缓存中该数据上锁;
此时到达缓存的其他查询请求将无法查询该字段,从而被阻塞等待;当第一个请求完成数据库查询,并将数据更新值缓存后,释放锁;此时其他被阻塞的查询请求将可以直接从缓存中查到该数据

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31640.html

相关文章

  • java篇 - 收藏集 - 掘金

    摘要:进阶多线程开发关键技术后端掘金原创文章,转载请务必将下面这段话置于文章开头处保留超链接。关于中间件入门教程后端掘金前言中间件 Java 开发人员最常犯的 10 个错误 - 后端 - 掘金一 、把数组转成ArrayList 为了将数组转换为ArrayList,开发者经常... Java 9 中的 9 个新特性 - 后端 - 掘金Java 8 发布三年多之后,即将快到2017年7月下一个版...

    OpenDigg 评论0 收藏0
  • 边缘计算已达到高潮!看三大运营商如何打好边缘战

    摘要:边缘计算是指在网络边缘节点来处理分析数据。打好边缘战,三大运营商齐头并进为了加强自身在边缘计算领域的实力,三大运营商已经开始提前布局,并取得了一定的成绩。此外,据了解,目前中国联通边缘云生态合作伙伴已达家。随着万物互联时代的到来,网络边缘设备产生的数据量飞速增长,带来了更高的数据传输带宽需求,同时,新型应用也对数据处理的实时性以及数据存储也提出了更高的要求。传统的云计算模型不能满足现有的性能...

    banana_pi 评论0 收藏0
  • 深度学习 vs 概率图模型 vs 逻辑学

    摘要:在上个月发表博客文章深度学习机器学习模式识别之后,博士博士后及联合创始人这一次带领我们回顾年来人工智能领域三大范式逻辑学概率方法和深度学习的演变历程。最令人兴奋的,后来的频率论与贝叶斯之争,是一些被称为概率图模型的东西。 在上个月发表博客文章《深度学习vs机器学习vs模式识别》之后,CMU博士、MIT博士后及vision.ai联合创始人Tomasz Malisiewicz这一次带领我们回顾5...

    susheng 评论0 收藏0
  • 三大缓存问题及解决方案

    摘要:在某些查询中,可以将所有可能的查询条件放入这个集合,在查询之前使用这个集合对查询条件进行过滤,就可以避免缓存穿透的问题。解决方案二级缓存对于那些热度高的数据设置二级缓存,并且错开和一级缓存的失效时间,使请求不会同时穿透两层缓存去访问数据库 在我们的实际开发应用中,缓存机制的广泛存在,大大的提高了系统对数据库的请求承受阈值,但是在一些特定的场景下,需要去了解它可能出现的问题和对应的解决方...

    Simon 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<