多级缓存设计和实战应用 多层次缓存设计和实际应用
多级缓存设计和实战应用
为网友解答多级缓存设计和实战应用方面的讲解,接下来就是全面介绍。
生活场景
星期天的上午,布布和一二在家里畅谈人生,突然觉得生活太乏味,一二提出要去吃一碗新鲜的麻辣烫。
于是他们来到一家当地有名的麻辣烫店。

刚进门,店里摆放了一个自助取餐具柜。
当时排队人数较多,如果大家都从取餐柜中拿餐盘,每个人都需要开一次柜取一个。
这样开柜门、关柜门都需要消耗不必要的时间。但是当我们把餐具摆到外边,大家随手可以获取。
这样可以避免频繁的开关柜门,从而节省很多时间。过程描述如下:
- 顾客从外放的餐具处拿餐具(缓存)
- 如果外放餐具没有,服务员从餐柜拿出一摞补充到原来位置(从磁盘加载到内存,避免频繁I/O)
- 如果服务员比较忙,顾客自助从取餐柜拿餐具(磁盘)
缓存设计模型
先不深入理解缓存设计的深层原理,我们先从这个生活例子抽象出一个简易的缓存设计模型:

在计算机领域,关于磁盘、内存、缓存、I/O的概念
- 磁盘(Disk):
- 是什么:就像电脑的大型存储仓库,用于持久保存数据。
- 怎么玩:数据在磁盘上存储并可以
长期保存,即使电脑关闭也不会丢失。 - 举栗子:就像一个大衣柜,你可以把不经常用的东西放在那里,随时取出。
- 内存(Memory):
- 是什么:类似于电脑的
短期记忆,用于存储当前正在使用的程序和数据。 - 怎么玩:数据在内存中存储,电脑运行时会迅速读取和写入,但一旦关闭电脑,内存就会被清空。
- 举栗子:就像桌子上的工作空间,学习工作时放东西,工作完把东西收拾带走。
- 是什么:类似于电脑的
- 缓存(Cache):
- 是什么:一种更小但更快速的存储,用于
临时存储经常访问的数据,以提高计算机的性能。 - 怎么玩:缓存存储了最常用的数据,使得计算机能够更快速地获取信息。
- 举栗子:就像你桌子上的备忘录,记录着你最常用的信息,不用每次都去找。
- 是什么:一种更小但更快速的存储,用于
- I/O(Input/Output):
- 是什么:涉及计算机与外部世界之间的数据传输,包括
输入(从外部获取数据)和输出(向外部发送数据)。 - 怎么玩:例如,从磁盘读取文件(输入)或将数据显示在屏幕上(输出)。
- 举栗子:就像你从书上读取信息(输入),或者将你的想法写在纸上(输出)。
- 是什么:涉及计算机与外部世界之间的数据传输,包括
小结
综上,我们对缓存有了概念上的理解。在实战项目中,不同的系统承载的流量有所不同,峰值状态:几万、几十万、几百万、亿级流量都有可能。
缓存设计就是是为了避免频繁I/O、提高吞吐量、增强系统性能。
接下来,我们逐一探究实际项目实战链路中,都会用到那些缓存设计来提高系统性能?
传统缓存设计
传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图:

存在下面的问题:
- 请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈
- Redis缓存失效时,会对数据库产生冲击
多级缓存
什么是多级缓存?
多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Server端压力,提升服务性能。
如图,是多级缓存架构基本组成:
相关阅读
-
编写一个简单的网页结构 网页设计作业html成品
小编为网友们解答编写一个简单的网页结构和网页设计作业html成品方面的介绍,具体详情如下: HTML(HyperText Markup Language)是一种简单、通用的超文本标记语言,Web服务器返回给客户端的最常
-
access数据库的对象是什么 了解access数据库的结构层次
下面为网友们详细介绍access数据库的对象是什么和了解access数据库的结构层次方面的内容,接下来分享详细内容。 说到数据处理,大家首先想到的是Excel,其实,Office中的数据处理软件除了E
-
web服务器怎么配置 免费个人web服务器推荐
对于许多网友来说web服务器怎么配置和免费个人web服务器推荐方面的内容,具体详情如下: 回想一下一个http请求的过程,你在浏览器输入xxx.com,经过域名解析 发起tcp的3次握手 建立tcp连接后
-
信息加密、解密与常用算法的基本概念和相关知识
本文为您带来的是信息加密、解密与常用算法的基本概念和相关知识的话题,请看下面详细的介绍。 一、信息加密概念 信息加密技术是对信息进行伪装,使得信息非法窃取者无法理解信息的真


