SpringBoot多级缓存解决方案 SpringBoot多层次缓存策略探讨
SpringBoot多级缓存解决方案
下面为网友们详细介绍SpringBoot多级缓存解决方案的相关知识,下面小编为您详细解答
SpringBoot实现项目更删改查后,会有新的问题需要解决,就是并发大的问题,一般而言,解决查询并发大的问题,常见的手段是为查询接口增加缓存,从而可以减轻持久层的压力。
按照我们以往的经验,在查询接口中增加Redis缓存即可,将查询的结果数据存储到Redis中,执行查询时首先从Redis中命中,如果命中直接返回即可,没有命中查询Mysql,将解决写入到Redis中。
这样就解决问题了吗?其实并不是,试想一下,如果Redis宕机了或者是Redis中的数据大范围的失效,这样大量的并发压力就会进入持久层,会对持久层有较大的影响,甚至可能直接崩溃。
如何解决该问题呢,可以通过多级缓存的解决方案来进行解决。
1. 什么是多级缓存

由上图可以看出,在用户的一次请求中,可以设置多个缓存以提升查询的性能,能够快速响应。
- 浏览器的本地缓存
- 使用Nginx作为反向代理的架构时,可以启用Nginx的本地缓存,对于代理数据进行缓存
- 如果Nginx的本地缓存未命中,可以在Nginx中编写Lua脚本从Redis中命中数据
- 如果Redis依然没有命中的话,请求就会进入到Tomcat,也就是执行我们写的程序,在程序中可以设置进程级的缓存,如果命中直接返回即可。
- 如果进程级的缓存依然没有命中的话,请求才会进入到持久层查询数据。
以上就是多级缓存的基本的设计思路,其核心思想就是让每一个请求节点尽可能的进行缓存操作。
相关阅读
-
DR/BDR选举过程流程图 DR/BDR选举过程流程简图
您可能不了解DR/BDR选举过程流程图的相关知识,继续往下看吧! 以下是DR/BDR选举过程的流程图: 解释: 路由器启动OSPF,并加入到多播网络。 路由器发送Hello报文来宣告自己的存在。 其他路由
-
云计算专业术语有哪些? 常见的云计算术语解释
IT电脑小知识篇,关于云计算专业术语有哪些的相关知识,接下来IT袋网小编为大家介绍。 云计算是一种通过网络(通常是互联网)按需提供可扩展的计算资源和服务的技术,云计算领域有许多
-
用Penpot弥合设计和代码之间的鸿沟
本文核心导读:用Penpot弥合设计和代码之间的鸿沟的IT小经验,一起来了解了解吧。 用 Penpot 这个开源的设计工作空间来弥合编程和设计之间的鸿沟。 在计算机编程的大部分历史中,在创建应
-
网站搭建需要什么技术 新手注册网站流程
今天分享:网站搭建需要什么技术和新手注册网站流程方面的讲解,接下来IT袋小编就来介绍。 目前市面上有不少开源的CMS系统,可以快速搭建一个网站,但是延展性、安全性、功能适配性肯


