Spring从3.1开始就引入了对Cache的支持,定义了org.springframework.cache.Cache
和 org.springframework.cache.CacheManager
接口来统一不同的缓存技术。Spring Cache是作用在方法上的,当调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存在缓存中。
使用步骤:
1、启用缓存,在SpringBoot的主启动类上加上@EnableCaching注解
。
2、在方法上加@Cacheable
注解。
cacheNames/value
:用来指定缓存组件的名字
key
:缓存数据时使用的 key,可以用它来指定。默认是使用方法参数的值。(这个 key 你可以使用 spEL 表达式来编写)
keyGenerator
:key 的生成器。 key 和 keyGenerator 二选一使用
cacheManager
:可以用来指定缓存管理器。从哪个缓存管理器里面获取缓存。
condition
:可以用来指定符合条件的情况下才缓存,condition默认true,unless默认false,当 condition = false,一定不会缓存;当 condition = true且unless = true不缓存;当condition = true且unless = false缓存。
unless
:否定缓存。当 unless 指定的条件为 true ,方法的返回