1.简介
- 基于注解,代码清爽简洁
- 可以对缓存进行回滚
- 基于注解也可以实现复杂的逻辑
- 基于具体的缓存产品(如Guava、EhCache、Redis等)的共性进行了一层封装
2.相关配置
1.导入依赖
<!-- Spring Cache的引入-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!-- redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.application.yml配置
spring:
redis:
# redis 的 IP 地址
host: hadoop128
# redis的端口
port: 6379
# redis的登录密码
password: czx123
# 使用redis的数据库0
database: 0
# spring cache的使用
cache:
# 指定使用的缓存类型
type: redis
#设置过期时间
redis:
time-to-live: 1800000
3.相关注解
@CacheEvict 删除缓存,一般配置在删除,更新,新增方法上面(可以加allEntries=true删除value下所有key)
@Cacheable 应用到读取数据的方法上,即可缓存的方法,如查找方法:先从缓存中读取,如果没有再调用方法获取数据,然后把数据添加到缓存中
@EnableCaching 开启 SpringCache 的默认配置
@CacheConfig 全局Cache配置
@CachePut 将数据放到缓存中,不考虑缓存中有没有,可用于更新或新增方法上