theme: condensed-night-purple
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
缓存是每一个研发人员都比较熟悉的,它用于优化计算机不同元件性能瓶颈差异,提高响应速度,并能提升用户的体验。在云计算产品中,有一个与它及其相似的产品,那就是
CDN
内容分发网络,这两者有何差异,能解决哪些问题,分别用于哪些场景呢?这篇文章先带你们走进看起来那么简单的缓存世界。
一、缓存
缓存,它其实就是在计算机上的一个原始数据的复制集,以便于使用者访问。在整个应用架构中,引入缓存,能打破标准流程,每个环节中请求可以从缓存中直接获取目标数据并返回,从而减少计算量,有效提升响应速度,从而做到让有限的资源服务更多的用户,并同时提升用户的体验。
二、 缓存总体分类
从缓存所处的位置来说,缓存共又分为三种,包括:
- 客户端缓存(也被称为前端缓存)
- 网络缓存
- 服务端缓存
其中,对于B/S架构类型的互联网应用,客户端缓存又分为页面缓存和浏览器缓存;网络缓存指的是代理服务器对客户端请求数据的缓存,主要分为WEB代理缓存和边缘缓存(CDN
)。对于服务端缓存,又分为本地缓存(local cache)和分布式缓存(remote cache)和数据库缓存(database cache),分类如下图所示。