Ehcache(一): Spring + Ehcache开场白
??? 早就想系统一点研究研究Ehcache了, 现在时机成熟了些, 于是着手这方面的研究.
??? Ehcache是干啥的? 它跟别的同类产品相比有什么优势? 这些问题相信大家已有所了解,本篇先不列举,这里先搭建一个很简单地例子,以便能有一个debug方式研究ehcache的活场景.
??? 这个例子很简单,以AOP的方式配置了Spring+Ehcache, 并没有直接用相对新特性(ehcache:config). 一是,新特性是基于传统的AOP发展来的,用传统的方式更能从根上来理解问题;二是,基于这个传统方式,随着对其不足的认识,一步步地去理解新特性,这样不仅仅对Ehcache有更深的认识,相信对自己的编码/设计也会有不小的提高.
??? 具体配置不再赘述,详见附件.
??? 这里先大致总结下实例中的配置思路. 总体来说, 实例是基于AOP的,即利用拦截器的特性来处理缓存.实例中写了一个模拟从数据库里取Person的方法(PersonManagerImpl类中的getList),Spring中以ProxyFactoryBean方式给它配置了一个代理,这样当getList方法调用时,拦截器先从cache里看看有没有想要的数据,如果有直接从cache里取,如果没有真正调用getList方法并将结果new一个Element从而缓存起来.
??? 这个实例中只是用到了取数据时的缓存,但若数据库里真正数据有更新时并没有考虑, 这些特性以后会逐步以实验的方式加上. 敬请关注!