Spring Boot 使用redis缓存(二级外置缓存)
-
- 1.配置redis的Maven依赖和配置
- 2. 启动类加入缓存注解
- 3. 实体类实现系列化接口(Serializable)
- 4. 使用注解对缓存进行配置(先进行效果演示)
- 5. 测试效果
-
- 5.1 测试第一个接口(注解为 @GetMapping("teacher") @Cacheable(value = "list-teacher"))
- 5.2 测试第二接口(注解为 @GetMapping("getTeacher/{id}") @Cacheable(value = "list",key = "#id"))
- 5.3 测试第三个接口(注解为@GetMapping("deleteTeacher/{id}")@CacheEvict(value = "list" ,allEntries = true))
- 5.4 测试第四个接口(注解为@PostMapping("addTeacher") @CachePut(value = "list" ,key="#eduTeacher.id"))
- 6. 结果分析
1.配置redis的Maven依赖和配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
导入依赖后再application.yml配置文件进行配置,如果对redis不熟悉的建议先看一下上一篇文章( Spring Boot整合Redis)
spring:
redis:
host: 127.0.0.1 #配置redis的主机地址,需要修改成自己的
database: 5
port: 6379
password: #设置自己的密码
jedis:
pool:
max-active: 50 # 如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool 的状态为exhausted(耗尽)
max-idle: 20 # 连接池中的最大空闲连接,默认值也是8。
min-idle: 5 # 连接池中的最小空闲连接,默认值也是0。
# max-wait: 5 # 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接 抛出JedisConnectionException
cache:
type: redis #开启redis二级缓存
2. 启动类加入缓存注解
在启动类加上@EnableCaching注解
@SpringBootApplication
@EnableCaching//开启缓存
public class eduServerApplication implements CommandLineRunner {
private static final Logger LOGGER = LoggerFactory.getLogger(eduServerApplication.class);
public static void main(String[] args) {
SpringApplication.run(eduServerApplication.class,args);
}
3. 实体类实现系列化接口(Serializable)
例如:
public class EduTeacher implements Serializable
4. 使用注解对缓存进行配置(先进行效果演示)
package com.atguigu.eduservice.redis;
import com.atguigu.eduservice.entity.EduTeacher;
import com.atguigu.<