Spring Cache缓存
Spring Cache 是作用在方法上的,其核心思想是,当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存在缓存中。
@Cacheable 注解使用详细介绍
1、开启基于注解的缓存,使用 @EnableCaching
标识在 SpringBoot 的主启动类上。
2、标注缓存注解即可
cacheNames/value :用来指定缓存组件的名字
key :缓存数据时使用的 key,可以用它来指定。默认是使用方法参数的值。(这个 key 你可以使用 spEL 表达式来编写)
keyGenerator :key 的生成器。 key 和 keyGenerator 二选一使用
cacheManager :可以用来指定缓存管理器。从哪个缓存管理器里面获取缓存。
condition :可以用来指定符合条件的情况下才缓存
unless :否定缓存。当 unless 指定的条件为 true ,方法的返回值就不会被缓存。当然你也可以获取到结果进行判断。(通过 #result 获取方法结果)
sync :是否使用异步模式。
@Cacheable 常用属性说明
① cacheNames
用来指定缓存组件的名字,将方法的返回结果放在哪个缓存中,可以是数组的方式,支持指定多个缓存
② key
缓存数据时使用的 key。默认使用的是方法参数的值。可以使用 spEL 表达式去编写
③ keyGenerator
key 的生成器,可以自己指定 key 的生成器,通过这个生成器来生成 key。
④ condition
符合条件的情况下才缓存。方法返回的数据要不要缓存,可以做一个动态判断。
⑤ unless
否定缓存。当 unless 指定的条件为 true ,方法的返回值就不会被缓存。
⑥ sync
是否使用异步模式。默认是方法执行完,以同步的方式将方法返回的结果存在缓存中。