文源网络,仅供学习之用,如有侵权请联系删除。
缓存的使用,是一个逐渐演进的过程。
问一下你自己,最直接的使用缓存的原因是什么?
无它,唯快而已!
追溯一下自己最开始使用缓存的场景,一些数据库里存储的不变的配置信息,服务启动时,直接加载到本地公共模块,方便其它功能模块共享使用。这便是最基本,最简单的本地缓存应用。
一、服务与缓存
所谓的服务,简而言之,一层应用 + 一层数据,应用从数据层获取数据然后加工输出。
数据层,通常我们指的是持久化介质上的持久化存储。它有多种形式的,可以是文件,或者数据库。
数据存储在持久化介质上,而应用运行与内存中。内存和持久化介质是两个有着量级速度差别的不同介质,由此,应用和数据之间便有了“矛盾”。
有了这“矛盾”的引子,便有了对缓存的迫切需求。
我们说的缓存,必然要是存放于内存中的,这样它便能距离应用更近,更快的给出应用所需要的数据,以获得更快的服务响应。
当然,并不是缓存完全隔绝持久层数据。缓存,伴随而生的一个词叫做命中率。
当我们查询的数据存在于缓存中的时候,我们称之为“命中”,此时,所需数据可以直接由缓存提供。
而对于未“命中”的数据,则需要穿过缓存层,进一步去持久化数据层获取。此种情景,我们称之