美文网首页
高并发与缓存

高并发与缓存

作者: 靈08_1024 | 来源:发表于2018-04-24 18:33 被阅读22次

本文主要讲述高并发下缓存会出现的问题。

在高并发下,缓存会出现的问题有:缓存一致性、并发问题、穿透问题、缓存的雪崩问题。

缓存一致性

现象:
在使用缓存的时候,会要求缓存与数据库的一致性。

解决:在使用spring data JPA和spring data redis时,使用@Transcational来保证数据库和redis中的数据一致。

缓存并发

现象:
在多个连接读取缓存数据时,存在若干个连接要写入到缓存。

解决:redis是单线程、原子性的,所以其每一个操作都是原子性的。而spring data中的redis是用过线程池来控制的。

缓存穿透

现象:
如果某一个key在高并发下被大量访问,但是缓存中此时没有这个值,那么就会去数据库中访问,从而导致对数据库造成重大的冲击。

解决:缓存特定的空对象,如id=null的对象为数据库中也没有的对象,而查询结果为null的对象没有缓存到redis中的对象。

缓存雪崩

现象:

  1. 由于缓存的原因,导致大量请求访问到后端数据库,从而造成数据库崩溃等。
  2. 在某个时间点,系统的缓存集中性的失效,也会导致系统崩溃。

解决:参见以上各种。而针对于缓存集中性的失效,可以采用redis的缓存失效策略LRU和LFU等。

相关文章

  • Java高并发--CPU多级缓存与Java内存模型

    Java高并发--CPU多级缓存与Java内存模型 主要是学习慕课网实战视频《Java并发编程入门与高并发面试》的...

  • 高并发与缓存

    本文主要讲述高并发下缓存会出现的问题。 在高并发下,缓存会出现的问题有:缓存一致性、并发问题、穿透问题、缓存的雪崩...

  • 高并发缓存架构:总览

    在高并发里面,缓存结构是不可避免的。 要搭建高可用,高并发的系统,需要一个复杂的缓存架构。 在高并发的时候,会遇到...

  • Java高并发--缓存

    Java高并发--缓存 主要是学习慕课网实战视频《Java并发编程入门与高并发面试》的笔记 在下图中每一个部分都可...

  • Java并发与高并发总结

    Java 并发和高并发 ava 多线程模块: 并发的基本概念: CPU 多级缓存 Cpu多级缓存的意义? Cpu对...

  • 【redis】四、常见问题

    Redis用作缓存,主要两个用途:高性能,高并发,因为内存天然支持高并发 一.缓存穿透: 缓存穿透是指查询一个一定...

  • 高并发秒杀API(六)

    前言 本篇将完成高并发优化,包括: Redis后端缓存优化 并发优化 一、高并发优化分析 在优化之前要明白高并发发...

  • 【转】亿级流量电商详情页系统的大型高并发与高可用缓存架构实战

    【转】亿级流量电商详情页系统的大型高并发与高可用缓存架构实战 标签:高可用,分布式架构,缓存发布于 2017-06...

  • 中并发控制(数据库)

    什么叫中等并发?不是高并发,不是低并发 并发度说明举?典型方案高并发短时间内的大量并发冲突秒杀活动redis缓存 ...

  • 享学课堂Java精品视频50集

    2018.12.03-阿里面试题秀出编程新境界 2018.12.06-硬刚高并发 缓存与并发编程cp组合 2018...

网友评论

      本文标题:高并发与缓存

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