使用Spring Cache
Spring提供了Cache抽象,它允许我们声明哪些bean的哪些方法的外部调用需要使用Cache。方法调用使用了Cache后,在调用真实方法前会先从缓存中获取结果,缓存中如果没有则会调用真实方法,这也是基于AOP实现的。关于Spring Cache的介绍不是本文的重点,如有需要可以参考笔者写的http://elim.iteye.com/blog/2123030。
在Spring Boot应用中使用Spring Cache需要在@SpringBootConfiguration
标注的Class上添加@EnableCaching
,这样就启用了Spring Cache。Spring Boot将根据Classpath下提供的Spring Cache实现类选择合适的实现者进行自动配置,支持的实现有基于Ehcache的实现、基于Redis的实现等,详情可参考org.springframework.boot.autoconfigure.cache.CacheConfiguration
的源码。如果没有找到,则会使用基于ConcurrentMap的实现。
下面的代码中就启用了Spring Cache。
@SpringBootApp