1.启动安装在本地的redis(安装redis并启动的详细步骤在上一篇文章中)
2.在pom.xml中引入依赖
<!--redis缓存-->
<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>
3.在application.properties中配置redis
#redis配置
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=20
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=10
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=50
4.在入口类添加@EnableCaching注解
5.需要启用缓存的查询方法上添加@Cacheable(value = “testCache”)注解
注意:这里一定要使用import org.springframework.cache.annotation.Cacheable;包,不然@Cacheable注释是不会起作用的(我就在这卡了半个世纪,哈哈)
6.测试是否缓存成功(如果缓存成功则在有效期内只打印一次,否则调用几次打印几次)
在查询方法中打印随便一句话,例如:
System.out.println("调用了");
7.调用方法(注意:这里有个坑非常关键,调用方法时会报系统异常,如下:)
这个报错的意思是需要序列化,在这里我们可以给User(我在这里用到的是User,所以你用的哪个就给那个加一个就行) 实现序列化也就是给User加一个implements Serializable,如下: