美文网首页
高并发下缓存可能会遇到的问题

高并发下缓存可能会遇到的问题

作者: Mayuri樂 | 来源:发表于2018-09-27 16:51 被阅读0次

    在开发过程中遇到了很多多线程问题,利用缓存记录线程的执行状态,将完成状态以进度条的形式在前端显示。记录学习下高并发下缓存可能会出现的问题,希望以后开发过程中遇到问题能更效率地处理。

    一、缓存一致性问题

    当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。

    这就比较依赖缓存的过期和更新策略。一般会在数据发生更改的时,主动更新缓存中的数据或者移除对应的缓存。

    二、缓存并发问题

    缓存“雪崩”。缓存过期后将尝试从后端数据库获取数据,这是一个看似合理的流程。但是,在高并发场景下,有可能多个请求并发的去从数据库获取数据,对后端数据库造成极大的冲击,导致 “雪崩”现象。

    三、缓存穿透问题

    在高并发场景下,如果某一个key被高并发访问,没有被命中,出于对容错性考虑,会尝试去从后端数据库中获取,从而导致了大量请求达到数据库,而当该key对应的数据本身就是空的情况下,这就导致数据库中并发的去执行了很多不必要的查询操作,从而导致巨大冲击和压力。

    四、缓存无底洞问题

    数据库多节点的情况下发生的效率急剧下降的问题

    参考文章

    https://mp.weixin.qq.com/s/lvdEPGbaGmk8QIIQWDrdyA

    相关文章

      网友评论

          本文标题:高并发下缓存可能会遇到的问题

          本文链接:https://www.haomeiwen.com/subject/jtaeoftx.html