缓存的分类

【启用缓存】

启用本地缓存以及分布式缓存。这样,可以将大部分请求都拦截,不会全部去请求数据库。也就是 提高响应速度、减轻数据库压力。

 1.客户端缓存

比如在大促之前,防止瞬间流量冲垮服务器,将秒杀相关的素材提前存到客户端。那么秒杀来临时就不需要拉取素材了。这里的素材一般是指秒杀框架js/css等。

还有异常处理页面,提高应用的可用性。

 

2.CDN缓存(Content Delivery Network内容分发网路)

本地存储 / 浏览器缓存这些技术是针对本地已经缓存了资源的情况,避免二次请求再去下载全部资源。

而CDN缓存是为了提升首次请求的响应速度。

CDN技术在现有网络基础上的虚拟智能网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、调度及内容分发等功能模块,

使用户在请求所需访问的内容时能够就近获取,以此来降低网络拥塞,提高资源对用户的响应速度。

 

请求流程:

1.与普通的域名解析不同,DNS服务器将对CDN的域名解析权交给了CNAME指向的专用DNS服务器。而且解析出来的地址并非是目标服务器的地址,而是CDN的负载均衡服务器的地址。 

2.负载均衡服务器 会根据 用户IP的距离/资源的位置等,返回给用户 合适的服务器IP地址。

3.请求目标缓存服务器

 eg:在全国部署100台CDN服务器,假如上海用户想要访问资源,则调用部署在上海的CDN服务器获取静态资源

 

CDN网络的核心功能:

1.缓存: 将所需的静态资源文件复制一份到CDN缓存服务器

2.回源:请求的内容不存在或者已过期,会重新转向 原服务器请求资源

 

3.反向代理缓存

Nginx缓存分为2类:

3.1  Nginx Http缓存 : expires、etag、if-modified-since指令

3.2  Nginx代理层缓存  : Http模块与proxy_cacahe模块

 

4.本地缓存

包括  磁盘缓存 、CPU缓存、应用缓存

 4.1 磁盘缓存:

读缓存:已读取的文件数据,在内存较空闲的情况下留在内存空间中(这个内存空间叫内存池)。方便下次读取

写缓存:将要写入磁盘的数据保存到内存池中。数据达到一个程度时,便将数据保存到硬盘中。

 

4.2CPU缓存

分为一级缓存(L1 Cache)、二级三级缓存(L2/L3)。当CPU要读取一个数据时,首先从L1中查找,没有的话再从L2/L3中查找,

如果还没有那就从内存中查找,内存如果还没有那就从磁盘查找。查找顺序为:CPU->L1->L2/L3->内存->磁盘。

 

posted @   RookieCoderAdu  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示