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要唯一。

posted @ 2022-07-03 10:53  长情c  阅读(179)  评论(0)    收藏  举报