Spring Boot整合@Cacheable注解使用 @CacheEvict注解使用

@Cacheable 作用:把方法的返回值添加到 Ehcache 中做缓存 Value 属性:指定一个 Ehcache 配置文件中的缓存策略,如果么有给定 value,name 则 表示使用默认的缓存策略。

 

Spring Boot整合@Cacheable注解使用 @CacheEvict注解使用_第1张图片

只有

key="#pageable的时候,第三次查询,还需要查询数据库

Spring Boot整合@Cacheable注解使用 @CacheEvict注解使用_第2张图片

 

key="#pageable.pageSize"的时候,不需要再次查询。

 

 

2 @CacheEvict
@CacheEvict 作用:清除缓存

 

 

@Override
   //@CacheEvict(value="users",allEntries=true) 清除缓存中以users缓存策略缓存的对象
   @CacheEvict(value="users",allEntries=true)
   public void saveUsers(Users users) {
      this.usersRepository.save(users);
   }

}

 加了之后,下面代码 第一个输出结束后,会刷新,第一个输出是插入新数据之后,刷新后的结果。

@Test
public void testFindAll(){
   //第一次查询
   System.out.println(this.usersService.findUserAll().size());
   
   Users users = new Users();
   users.setAddress("南京");
   users.setAge(43);
   users.setName("朱七");
   this.usersService.saveUsers(users);
   
   //第二次查询
   System.out.println(this.usersService.findUserAll().size());
}

 

你可能感兴趣的:(Spring Boot整合@Cacheable注解使用 @CacheEvict注解使用)