Spring Cache(使用Redis缓存)

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
导入maven坐标后,我们就能看到这个cachemanage下多了个rediscachemanage缓存的类了。

redis:
host: localhost
port: 6379
database: 0
password:
cache:
redis:
time-to-live: 1800000 #单位毫秒
用法呢还是和上篇的一样,注意我什么也没改,还是用的spring cache注解。
第一次redis缓存中没有数据,又因为打了断点,所以就进入了当前方法,并将数据缓存到redis。

但是呢我们发现redis并没有数据,这是为什么呢?

因为根据id查找数据是存在的,并且源码说condition只支持root和args形式不支持result。

替换为unless,满足条件时不缓存。

然后redis就可以正常缓存了。

以后请求这个就直接从缓存里拿了。

测试根据id删除缓存中的数据



我们新增三个缓存,然后调用清除缓存的方法发现它是根据key删除的,这点要注意,key要唯一。


浙公网安备 33010602011771号