SpringCache之 @CacheEvict

allEntries注解

  1. 使用CacheEvict注解,会清除对应的Key值得缓存,分为以下两种情况:
  • 如果使用allEntries为true时,测试会把所有value对应的缓存全部删除;
  • 如果allEntries为false(默认),此时只会删除该key值的缓存;
    @CacheEvict(value="User",key="#id.toString()",allEntries=true, beforeInvocation=true)//
    public User delete(Integer id) {
        //TODO 
    }

 针对于以上配置 时,会进行删除该value=User值空间下的所有缓存数据。

beforeInvocation注解

  1. 当执行这个方法之前执行清除缓存的操作,这样不管这个方法执行成功与否,该缓存都将不存在,默认值为false,则不进行删除。

你可能感兴趣的:(缓存)