缓存的架构介绍:
1.客户端
使用者直接通过该层与数据进行交互
2.缓存提供层
主要对缓存管理层的生命周期进行维护,负责缓存管理层的创建,保存,获取以及销毁
3.缓存管理层
主要对缓存客户端的生命周期进行维护,负责缓存客户端的创建,保存,获取以及销毁
4.缓存存储层 : 负责数据以什么样的形式进行存储
1.基本存储层
是以普通的ConcurrentHashMap为存储核心,数据不淘汰
2.LRU存储层
是以最近最少用为原则进行的数据存储和缓存淘汰机制
3.Weak存储层
是以弱引用为原则的数据存储和缓存淘汰机制
缓存框架的SPI机制:
SPI 的全名为 Service Provider Interface,是JDK内置的一种服务提供发现机制。
Java SPI 机制的思想简单来说是:在面向对象的设计里,我们一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,
就违反了可拔插的原则,如果需要替换一种实现,就需要修改代码。为了实现在模块装配的时候能不在程序里动态指明,这就需要一种服务发现机制。Java SPI 就是
提供了这样的一个机制,为某个接口寻找服务实现的机制。有点类似IoC的思想,就是将装配的控制权转移到程序之外,在模块化设计中这个机制尤为重要。