一: 使用多级缓存的原因:
1.请求经过Tomcat处理,Tomcat会有并发限制,Tomcat性能成为整个系统的瓶颈
2. 如果Redis缓存失效,会对数据库产生冲击
二: 多级缓存的定义:
多级缓存就是充分利用请求处理的每一个环节,在每一个环节分别添加缓存,减轻服务器压力,提高系统性能
三: 多级缓存的整体架构:
1.浏览器访问静态资源时,优先读取浏览器本地缓存
2.浏览器访问非静态资源时(ajax查询数据), 访问服务端(Nginx->Redis->Tomcat->数据库)
3.请求到达Nginx后,优先读取Nginx本地缓存
4.如果Nginx未命中,则去直接查询Redis
5.如果Redis查询未命中,则进入Tomcat优先查询JVM进程缓存
6.如果JVM进程缓存未命中,则查询数据库
Plus:
1.在多级缓存的架构中,Nginx服务不再是反向代理服务器,是一个编写业务的Web服务器,因此Nginx服务也会搭建集群来提高并发,再有专门的反向代理服务器来做反向代理
2.Tomcat服务也会部署为集群模式
所以最终版本的多级缓存架构就是如下所示啦