一、概述
1 | Spring 3.1 引入了激动人心的基于凝视(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(比如EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中加入少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果。 |
二、曾经我们如何实现缓存
1 | public static void main(String[] args) { |
三、利用spring Cache如何实现缓存
1 | public static void main(String[] args) { |
四、spring Cache实现简单示列(ConcurrentMap)
1 | <dependency> |
1)XML定义
1 | <?xml version="1.0" encoding="UTF-8"?> |
2)缓存方法实现
1 | package springcache; |
3)测试类
1 | package springcache; |
4)运行结果
1 | ---- @Cacheable test ---- |
五、spring Cache高级扩展(Redis)
1) 自定义cache实现,实现接口org.springframework.cache.Cache
1 | package springcache; |
1.1)HessianUtil 序列化工具类实现:
1 | package serialization.hessian; |
2) XML修改为如下
1 | <?xml version="1.0" encoding="UTF-8"?> |
3)运行结果
1 | ---- @Cacheable test ---- |
六、参考地址
1)https://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/index.html
七、项目源码
https://github.com/zyongjava/pomelo/blob/master/src/main/java/springcache/SpringCacheTest.java