1. 添加redis依赖
向pom.xml中添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2. 添加redis配置
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host = 127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=6000
3.配置springboot启动类Application.java
添加注解 @EnableCaching
@EnableCaching
4.向service层添加缓存注解
- 加入缓存的注解:@Cacheable(单条查询等操作不需修改数据库数据的操作,列表查询慎加)
@Cacheable(cacheNames = "interviewService.interview", key = "123")
- 清除缓存的注解:@CacheEvict(保存、修改、删除等等需要对数据库数据进行修改的操作,则需要清除缓存;allEntries表示清除所有缓存,也可以指定清除某个key)
@CacheEvict(cacheNames = "interviewService.interview" ,allEntries = true)
@CacheEvict(cacheNames = "interviewService.interview" ,key = "123")
- 更新缓存的注解:@CachePut(表示在修改操作时更新该redis缓存,但是使用该注解时,设置redis的方法必须和修改的方法返回相同的类)
@Cacheable(cacheNames = ""interviewService.interview", key = "123")
5.统一
除查询单个数据的service方法,需要添加缓存注解,其余service的方法都应该是清除缓存注解,列表不添加任何注解
6.注意
redis缓存会序列化要缓存的对象,必须将所有实体类实现序列化,否则会报错
public class XX implements java.io.Serializable
7.linux查看及清空redis缓存数据
进入redis: ./redis-cli -h ip -p 6379
ip为redis所在服务器ip
输入 keys * :可查看所有缓存数据
输入 flushall :清空所有缓存