@Cacheable用法
接口运行的结果会自动存入缓存中,下次接口再传入相同的参数查询就直接从缓存中取;如果下次传入的参数不相同,就会再进行缓存(
这两个缓存没有关系,是不同的key
)。
-
cacheNames:用来指定缓存组件的名字。
-
key :缓存数据时使用的 key,可以用它来指定。默认是使用方法参数的值。(这个 key 你可以使用 spEL 表达式来编写)。
-
keyGenerator :key 的生成器。 key 和 keyGenerator 二选一使用。
-
cacheManager :可以用来指定缓存管理器。从哪个缓存管理器里面获取缓存。
-
condition :可以用来指定符合条件的情况下才缓存。
-
unless :否定缓存。当 unless 指定的条件为 true ,方法的返回值就不会被缓存。当然你也可以获取到结果进行判断。(通过 #result 获取方法结果)。
-
sync :是否使用异步模式。
自定义过期时间的redis缓存的步骤
1、引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
2、主启动类标注@EnableCaching注解
3、redis配置类
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport