前面讲了【第二章】SpringBoot2.x集成Redis , 以及SpringBoot中redis的基本使用.
本篇主要讲Redis数据库作为SpringBoot中缓存(Cache)的基本使用.
引入依赖
<!-- redis starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- lettuce pool 缓存连接池 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
不再需要引入其他依赖,SpringBoot导入spring-boot-starter-data-redis时,
CacheManager默认使用RedisCache.
如果项目不是以Redis作为缓存,则需引入:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
application.yml配置
spring:
redis:
# Redis数据库索引(默认为0)
database: 0
# Redis服务器连接端口
port: 6379
# Redis服务器地址
host: 127.0.0.1
# Redis服务器连接密码(默认为空)
password: 123456
# 连接超时时间(毫秒)
timeout: 5000
lettuce:
# 关闭超时时间
shutdown-timeout: 100
pool:
# 连接池最大连接数(使用负值表示没有限制)
max-active: 8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: 10000
# 连接池中的最大空闲连接
max-idle: 8
# 连接池中的最小空闲连接
min-idle: 0
开启缓存@EnableCaching, 并配置CacheManager,KeyGenerator
- @EnableCaching: 开启缓存
- CacheManager: Spring缓存管理器
- KeyGenerator: Redis 缓存键生成策略, Spring 默认的DefaultKeyGenerator根据参数列表生成Key,当参数列表的值相同时是一样的 就会造成获取到错误的缓存数据
import com.alibaba