缓存
在计算机系统和应用软件中,“缓存”的理念和应用无处不在,比如从 CPU 与内存中的 Cache 缓存、磁盘缓存到 HTTP 缓存机制、应用软件缓存等等。
就拿 CPU 缓存(Cache Memory)来说吧。它是位于 CPU 与内存之间的临时存储器,主要为了解决 CPU 运算速率与内存读写速率不匹配的矛盾。我们知道 CPU 运算速度比内存读写速度快得多,工作效率远远大于系统内存和硬盘。当 CPU 在很短的时间内完成运算后,却需花费很长时间将运算结果写入内存,以及等待新数据的到来。CPU 的运算时间短,与从内存中读取、向其写入数据耗时长的矛盾,可以通过缓存很好地解决。
另外,我们使用浏览器浏览网页,不做特殊设置的话,图片、样式文件等静态资源将会被默认缓存到本地。不同场景中缓存的含义和实现方式千差万别,但目的都是相同的,即为了加速读写速度和提升性能。
网站架构中的缓存主要包括 HTTP 缓存、CDN 代理缓存、数据缓存等。本文所要讲解的是后端系统的数据缓存,也就是将系统中经常要查询和使用的数据存储到缓存中,避免反复从数据库中查询、加载数据,避免创建重复的实例,以达到减少系统开销,提高系统效率的目的。
为何引入缓存
网站性能优化第一定律:优先考虑使用缓存优化性能。缓存是指将数据存储在有相对较高访问速度的存储介质中(如内存)