spring-cache
前言:
使用spring-cache的方式有很多,以我工作中某个springboot项目的为例。
一、spring-cache是什么?
以@Cacheable为例,如下图:
二、spring-cache是如何知道使用哪种底层的缓存的,是redis还是ehcache,还是其他的?
注:只是以我当前项目为例,还有很多指定方法。
三、简单工厂模式?适配器模式?包装器模式?
1,简单工厂模式?
2,适配器模式?
3,包装者(装饰器)模式?
先以rediscache --> spring-cache为例:
3-1,适配器模式 --> 过渡对象
3-2,包装器模式 --> 最终对象
3-3,再看看ehcache --> spring-cache
4,总结
这些设计模式之间非常类似,可能也没有绝对的界限;
不过看到这些,让我想到了适配器模式的DispatcherServlet;
总结:
通过适配器模式,将
redisCache --> springCache
ehCache --> springCache,
方便程序员编写代码,隐藏了具体的缓存技术比如(redis,ehcache等),提供简洁的注解的方式实现缓存的增删改查等功能。