Spring缓存注解@Cacheable @CacheEvict @CachePut的区别和使用
启动类注解:
@EnableCaching
方法上的注解:
@CacheEvict---------------------
@Caching(
evict = {
@CacheEvict(cacheNames = "listUmsOrgByUserNo", allEntries = true),
@CacheEvict(cacheNames = "all-resource-byuser", allEntries = true),
@CacheEvict(cacheNames = "all-role-byuser", allEntries = true),
@CacheEvict(cacheNames = "all-user-byrole", allEntries = true)
}
)
@Override
public int deleteUmsUserOrgRelate(String id) {
return mapper.deleteUmsUserOrgRelate(id);
}
Cacheable---------------------
@Override
@Cacheable(cacheNames = "user-tree", key = "#systemNo+#orgNo+#range")
public List<HashMap> listUserTree(String systemNo, String orgNo, String range, String isPrimary) {
return mapper.getUserTrees(systemNo, orgNo, range, isPrimary);
}
Cacheable---------------------
@Cacheable(cacheNames = "user", key = "#userNo")
@Override
public UmsUser getUmsUserByNo(String userNo) {
return mapper.getUmsUserByNo(userNo);
}
@CacheEvict(key = “123”)该注解表示要清除123这个key,作用域可以在类上面@CacheConfig(cacheNames = “product”)声明也可以在方法上面这样声明@CacheEvict(cacheNames = “product”,key = “123”)
@CachePut(cacheNames = “product”,key = “123”)表示对123这个key进行更新。
————————————————
版权声明:本文为CSDN博主「buchicaodetuzi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42404323/article/details/94722161
SpringBus
@Bean(name = Bus.DEFAULT_BUS_ID)
public SpringBus springBus() {
return new SpringBus();
}