一、@CacheEvict
@CacheEvict: 緩存清除
常用屬性
key:指定要清除的數據
allEntries = true 指定清除這個緩存中所有的數據
beforeInvocation = false:緩存的清除是否在方法之前執行
false:默認代表緩存清除是在方法執行之后執行,如果出現異常緩存就不會清除緩存
true:代表清除緩存操作是在方法運行之前執行,無論方法是否出現異常,緩存都清除
二、代碼示例
1、查詢方法
@Cacheable(cacheNames = {"emp"}) public Employee getEmpById(Integer id) { System.out.println("查詢" + id +"號員工"); return employeeMapper.getEmpById(id); }
2、刪除方法
@CacheEvict(cacheNames = {"emp"}, key = "#id", allEntries = true) public void delEmp(Integer id) { System.out.println("delEmp:" + id); //employeeMapper.deleteEmpById(id);
}
