SpringCache之@CacheEvict注解的使用说明
功能说明
我们在日常使用缓存的时候,不仅需要添加缓存,也需要删除缓存。Springcache中如何来实现缓存的删除呢?不错,@CacheEvict就能帮助我们来实现缓存的删除。审核这个眼睛是喘气的,哪里来的广告?你告诉我?
说的直白点@CacheEvict就是一个触发器,当我们每次调用被他注解的方法的时候,就会出发这个触发器,来删除他指定的缓存。他和@Cacheable一样,也可以指定一个或多个缓存,也可以自定义缓存的key。
使用示例
接下来,我们看看如何使用@CacheEvict注解
@ApiOperation(value = "清空缓存")
@CacheEvict(value = {"asnavigation","navigation","banner","article","grouphistory","groupinformation","groupoverview","imagetext","singlepage","systemclosed","rechargeoutlets","links","busroute","system_logo"},key="#id.toString()",allEntries = true,beforeInvocation=true)
@GetMapping("/clear")
public ApiResult clearCache(){ApiResult result = new ApiResult();result.getData().put("result",redisUtils.clear());return result;
}
从上面的代码我们可以看到,定义了一个清除缓存的接口,用来清空我们的Cache数据,在其中可以看到他有两个参数:value和allEntries,具体什么意思呢?我们来看一下下面的介绍。
参数
value 参数
value 意思是:指定需要删除的缓存信息
key 参数
和cacheable中的key类似,和value组合生成缓存
allEntries 参数
allEntries 意思是:是否删除整个缓存(value中指定的值),默认是false
当为true时,会把所有value对应的缓存全部删除
当为false时,此时只会删除该key值的缓存
beforeInvocation参数
beforeInvocation的意思是:当执行注解标注的这个方法之前限制性清除缓存的操作,这样就会使得,不管这个方法执行是否成功,该缓存都会被清除。保证了清除缓存的效果。
他的默认值是false。当为false的时候不执行。为true的时候才会执行这个逻辑
好了今天的@CacheEvict就先讲解到这,欢迎大家留言交流,指正。
也希望大家关注我的《coder练习生》
SpringCache之@CacheEvict注解的使用说明相关推荐
- @MappedSuperclass注解的使用说明
转载自:http://blog.sina.com.cn/s/blog_7085382f0100uk4p.html 基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclas ...
- Spring Boot整合@CacheEvict注解使用
2 @CacheEvict @CacheEvict 作用:清除缓存 @Override@Cacheable(value="users")public List<Users&g ...
- @CacheEvict注解,清除缓存
是用来清除缓存的,有以下属性: value:缓存位置名称,不能为空,同上 key:缓存的key,默认为空,同上 condition:触发条件,只有满足条件的情况才会清除缓存,默认为空,支持SpEL a ...
- SpringCache的简单入门(RedisCacheManager)(@Cacheable、@CachePut、@CacheEvict)
1.介绍 Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能,大大简化我们在业务中操作缓存的代码. Spring Cache只是提供了一层抽象,底层 ...
- Spring Cache缓存技术,Cacheable、CachePut、CacheEvict、Caching、CacheConfig注解的使用
前置知识: 在Spring Cache缓存中有两大组件CacheManager和Cache.在整个缓存中可以有多个CacheManager,他们负责管理他们里边的Cache.一个CacheManage ...
- SpringBoot下结合使用Cacheable、CacheEvict和Scheduled注解轻松实现可过期本地缓存
背景 最近要在项目中使用一个简单的缓存,又不想动用流行的java缓存大杀器guava cache或者Caffeine,就想到了Spring自带的缓存,一个注解就搞定,多美啊.可惜Spring的注解缓存 ...
- @EnableCaching、@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig:缓存核心注解,用来实现缓存功能...
本文主要详解spring中缓存的使用. 背景 缓存大家都有了解过吧,主要用来提升系统查询速度. 比如电商中商品详情信息,这些信息通常不会经常变动但是会高频访问,我们可以将这些信息从db中拿出来放在缓存 ...
- 验证格式validation的注解及部分注解使用说明
Validation验证的注解及使用说明 1.空和非空检查 @NotBlank:只能用于字符串不为 null ,并且字符串 .trim() 以后 length 要大于 0 . @NotEmpty:集合 ...
- SpringCache与redis集成,优雅的缓存解决方案
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:cnblogs.com/chenkeyu/p/8028781 ...
最新文章
- Linux 下查看系统是32位 还是64 位的方法
- 远控免杀专题8---BackDoor-Facktory免杀
- 【SQLSERVER】SQL SERVER 2008筛选表报错
- MySQL数据同步的一个很初级运用
- SSM整合(相关jar包需求)
- ajax回调给全局变量,jquery.Ajax回调成功后数据赋值给全局变量的问题
- 【2021Java最新学习路线】java前端开发
- “飞客蠕虫”形成全球最大僵尸网络 每日感染数万网民
- 面向对象七大设计原则
- 计算机软件考试初级什么好考,初级程序员好考吗
- html 里面的 role 属性是什么意思和用途
- 《广西经济社会发展报告(2019)》正式发布 聚焦发展热点
- ERROR: Pool overlaps with other one on this address space 解决办法
- vba学习笔记 数组的LBound和UBound
- 数据挖掘课程第一章作业《认识数据挖掘与数据预处理》
- 每周一品 · 永磁电机中的磁性材料
- 代码中的下划线_是什么意思呢?
- 自考路之大渡考场路远寒
- 我很忙!你忙什么?瞎忙!
- 中兴a2018刷android,中兴A2018刷机教程 中兴A2018 天机7S卡刷升级更新官方系统