IT袋

当前位置:主页 > 经验教程 > 建站编程 >

多级缓存设计和实战应用

多级缓存设计和实战应用 多层次缓存设计和实际应用

时间:2024-01-27 21:00:21 来源:IT袋 作者:马勇
导读:多级缓存设计和实战应用,为网友解答多级缓存设计和实战应用方面的讲解,接下来就是全面介绍。 生活场景 星期天的上午,布布和一二在家里畅谈人生,突然觉得生活太乏味,一二提出要去吃一

多级缓存设计和实战应用

为网友解答多级缓存设计和实战应用方面的讲解,接下来就是全面介绍。

生活场景

星期天的上午,布布和一二在家里畅谈人生,突然觉得生活太乏味,一二提出要去吃一碗新鲜的麻辣烫。

于是他们来到一家当地有名的麻辣烫店。

多级缓存设计和实战应用

刚进门,店里摆放了一个自助取餐具柜。

当时排队人数较多,如果大家都从取餐柜中拿餐盘,每个人都需要开一次柜取一个。

这样开柜门、关柜门都需要消耗不必要的时间。但是当我们把餐具摆到外边,大家随手可以获取。

这样可以避免频繁的开关柜门,从而节省很多时间。过程描述如下:

  1. 顾客从外放的餐具处拿餐具(缓存)
  2. 如果外放餐具没有,服务员从餐柜拿出一摞补充到原来位置(从磁盘加载到内存,避免频繁I/O)
  3. 如果服务员比较忙,顾客自助从取餐柜拿餐具(磁盘)

缓存设计模型

先不深入理解缓存设计的深层原理,我们先从这个生活例子抽象出一个简易的缓存设计模型:

多级缓存设计和实战应用

在计算机领域,关于磁盘、内存、缓存、I/O的概念

  1. 磁盘(Disk):
    • 是什么:就像电脑的大型存储仓库,用于持久保存数据。
    • 怎么玩:数据在磁盘上存储并可以长期保存,即使电脑关闭也不会丢失。
    • 举栗子:就像一个大衣柜,你可以把不经常用的东西放在那里,随时取出。
  2. 内存(Memory):
    • 是什么:类似于电脑的短期记忆,用于存储当前正在使用的程序和数据。
    • 怎么玩:数据在内存中存储,电脑运行时会迅速读取和写入,但一旦关闭电脑,内存就会被清空。
    • 举栗子:就像桌子上的工作空间,学习工作时放东西,工作完把东西收拾带走。
  3. 缓存(Cache):
    • 是什么:一种更小但更快速的存储,用于临时存储经常访问的数据,以提高计算机的性能。
    • 怎么玩:缓存存储了最常用的数据,使得计算机能够更快速地获取信息。
    • 举栗子:就像你桌子上的备忘录,记录着你最常用的信息,不用每次都去找。
  4. I/O(Input/Output):
    • 是什么:涉及计算机与外部世界之间的数据传输,包括输入(从外部获取数据)和输出(向外部发送数据)
    • 怎么玩:例如,从磁盘读取文件(输入)或将数据显示在屏幕上(输出)。
    • 举栗子:就像你从书上读取信息(输入),或者将你的想法写在纸上(输出)。

小结

综上,我们对缓存有了概念上的理解。在实战项目中,不同的系统承载的流量有所不同,峰值状态:几万、几十万、几百万、亿级流量都有可能。

缓存设计就是是为了避免频繁I/O、提高吞吐量、增强系统性能

接下来,我们逐一探究实际项目实战链路中,都会用到那些缓存设计来提高系统性能?

传统缓存设计

传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图:

多级缓存设计和实战应用

存在下面的问题:

  • 请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈
  • Redis缓存失效时,会对数据库产生冲击

多级缓存

什么是多级缓存?

多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Server端压力,提升服务性能。

如图,是多级缓存架构基本组成:

相关阅读

  • 编写一个简单的网页结构 网页设计作业html成品

    编写一个简单的网页结构 网页设计作业html成品

    小编为网友们解答编写一个简单的网页结构和网页设计作业html成品方面的介绍,具体详情如下: HTML(HyperText Markup Language)是一种简单、通用的超文本标记语言,Web服务器返回给客户端的最常

  • access数据库的对象是什么 了解access数据库的结构层次

    access数据库的对象是什么 了解access数据库的结构层次

    下面为网友们详细介绍access数据库的对象是什么和了解access数据库的结构层次方面的内容,接下来分享详细内容。 说到数据处理,大家首先想到的是Excel,其实,Office中的数据处理软件除了E

  • web服务器怎么配置 免费个人web服务器推荐

    web服务器怎么配置 免费个人web服务器推荐

    对于许多网友来说web服务器怎么配置和免费个人web服务器推荐方面的内容,具体详情如下: 回想一下一个http请求的过程,你在浏览器输入xxx.com,经过域名解析 发起tcp的3次握手 建立tcp连接后

  • 信息加密、解密与常用算法的基本概念和相关知识

    信息加密、解密与常用算法的基本概念和相关知识

    本文为您带来的是信息加密、解密与常用算法的基本概念和相关知识的话题,请看下面详细的介绍。 一、信息加密概念 信息加密技术是对信息进行伪装,使得信息非法窃取者无法理解信息的真