Spring Boot整合@Cacheable注解使用 @CacheEvict注解使用
@Cacheable 作用:把方法的返回值添加到 Ehcache 中做缓存 Value 属性:指定一个 Ehcache 配置文件中的缓存策略,如果么有给定 value,name 则 表示使用默认的缓存策略。
只有
key="#pageable的时候,第三次查询,还需要查询数据库
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()); }