Spirng Cache(第一篇) 初体验
从3.1版开始,Spring Framework提供了对现有Spring应用程序透明地添加缓存的支持。与事务 支持类似,缓存抽象允许一致地使用各种缓存解决方案,而对代码的影响最小。
从Spring 4.1开始,通过JSR-107注释和更多自定义选项的支持,缓存抽象得到了显着改进。
注解驱动
只需要掌握下面5个缓存相关注解就可以使用它了。更多请参考
@Cacheable
触发缓存入口@CacheEvict
触发缓存驱逐(删除缓存)@CachePut
更新缓存而不会干扰方法执行@Caching
重新组合要在方法上应用的多个缓存操作@CacheConfig
在类级别共享一些常见的缓存相关设置
缓存的使用
话不多说,让我们体验一下它
环境信息:java8+maven3.x+spring-boot1.5.x
本章所有示例都在BookService
类中完成,缓存名称是books
,使用@CacheConfig
注解统一配置
@Service
@CacheConfig(cacheNames = "books")
public class BookService {
}
Book
实体,省略Get/Set方法
public class Book {
private Long id;
private String bookName;
private String isbn;
}
添加/使用缓存@Cacheable
查询Book,并加入缓存,以后再查询从缓存中获取,这里没有指定缓存key
默认使用方法参数isbn
@Cacheable
public Book findBook(String isbn) {
return createBook