springboot-cache缓存的简单应用

一:引入pom依赖

                <!--        集成缓存-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
        </dependency>
        <!-- 引入ehcache支持 -->
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
        </dependency>

二:在启动类中加入@EnableCaching注解

 

 

 三:应用

cacheNames/value :用来指定缓存组件的名字

key :缓存数据时使用的 key,可以用它来指定。默认是使用方法参数的值。(这个 key 你可以使用 spEL 表达式来编写)

keyGenerator :key 的生成器。 key 和 keyGenerator 二选一使用

cacheManager :可以用来指定缓存管理器。从哪个缓存管理器里面获取缓存。

condition :可以用来指定符合条件的情况下才缓存

unless :否定缓存。当 unless 指定的条件为 true ,方法的返回值就不会被缓存。当然你也可以获取到结果进行判断。(通过 #result 获取方法结果)

sync :是否使用异步模式。

 condition

符合条件的情况下才缓存。方法返回的数据要不要缓存,可以做一个动态判断。(偷个图)

 

 例如这个页面的图片需要缓存

 

 1.在加载的时候可以这样写:

@Cacheable(value = "files" ,key = "'frontAll'")//集成缓存key是自己定义的

 

 更新和新增的时候:

@CachePut(value = "files", key = "'frontAll'")

 

@Cacheable(cacheNames = "files",key = "'frontAll'") 
public Student insert(Student student) {
  this.studentMapper.insert(student);
  return student;
}

 删除的时候:

@CacheEvict(value = "files", key = "'frontAll'")

 

posted @ 2023-02-08 23:07  lipu123  阅读(58)  评论(0编辑  收藏  举报