功能说明

我们在日常使用缓存的时候,不仅需要添加缓存,也需要删除缓存。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注解的使用说明相关推荐

  1. @MappedSuperclass注解的使用说明

    转载自:http://blog.sina.com.cn/s/blog_7085382f0100uk4p.html 基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclas ...

  2. Spring Boot整合@CacheEvict注解使用

    2 @CacheEvict @CacheEvict 作用:清除缓存 @Override@Cacheable(value="users")public List<Users&g ...

  3. @CacheEvict注解,清除缓存

    是用来清除缓存的,有以下属性: value:缓存位置名称,不能为空,同上 key:缓存的key,默认为空,同上 condition:触发条件,只有满足条件的情况才会清除缓存,默认为空,支持SpEL a ...

  4. SpringCache的简单入门(RedisCacheManager)(@Cacheable、@CachePut、@CacheEvict)

    1.介绍 Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能,大大简化我们在业务中操作缓存的代码. Spring Cache只是提供了一层抽象,底层 ...

  5. Spring Cache缓存技术,Cacheable、CachePut、CacheEvict、Caching、CacheConfig注解的使用

    前置知识: 在Spring Cache缓存中有两大组件CacheManager和Cache.在整个缓存中可以有多个CacheManager,他们负责管理他们里边的Cache.一个CacheManage ...

  6. SpringBoot下结合使用Cacheable、CacheEvict和Scheduled注解轻松实现可过期本地缓存

    背景 最近要在项目中使用一个简单的缓存,又不想动用流行的java缓存大杀器guava cache或者Caffeine,就想到了Spring自带的缓存,一个注解就搞定,多美啊.可惜Spring的注解缓存 ...

  7. @EnableCaching、@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig:缓存核心注解,用来实现缓存功能...

    本文主要详解spring中缓存的使用. 背景 缓存大家都有了解过吧,主要用来提升系统查询速度. 比如电商中商品详情信息,这些信息通常不会经常变动但是会高频访问,我们可以将这些信息从db中拿出来放在缓存 ...

  8. 验证格式validation的注解及部分注解使用说明

    Validation验证的注解及使用说明 1.空和非空检查 @NotBlank:只能用于字符串不为 null ,并且字符串 .trim() 以后 length 要大于 0 . @NotEmpty:集合 ...

  9. SpringCache与redis集成,优雅的缓存解决方案

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:cnblogs.com/chenkeyu/p/8028781 ...

最新文章

  1. Linux 下查看系统是32位 还是64 位的方法
  2. 远控免杀专题8---BackDoor-Facktory免杀
  3. 【SQLSERVER】SQL SERVER 2008筛选表报错
  4. MySQL数据同步的一个很初级运用
  5. SSM整合(相关jar包需求)
  6. ajax回调给全局变量,jquery.Ajax回调成功后数据赋值给全局变量的问题
  7. 【2021Java最新学习路线】java前端开发
  8. “飞客蠕虫”形成全球最大僵尸网络 每日感染数万网民
  9. 面向对象七大设计原则
  10. 计算机软件考试初级什么好考,初级程序员好考吗
  11. html 里面的 role 属性是什么意思和用途
  12. 《广西经济社会发展报告(2019)》正式发布 聚焦发展热点
  13. ERROR: Pool overlaps with other one on this address space 解决办法
  14. vba学习笔记 数组的LBound和UBound
  15. 数据挖掘课程第一章作业《认识数据挖掘与数据预处理》
  16. 每周一品 · 永磁电机中的磁性材料
  17. 代码中的下划线_是什么意思呢?
  18. 自考路之大渡考场路远寒
  19. 我很忙!你忙什么?瞎忙!
  20. 中兴a2018刷android,中兴A2018刷机教程 中兴A2018 天机7S卡刷升级更新官方系统

热门文章

  1. echarts 仿支付宝基金七日年化折线图
  2. 提取文件夹中图片名字
  3. 自媒体常用小程序:去水印、配音、文案提取
  4. 基于ARMv8架构的mini操作系统
  5. MacOS删除打印机软件指引
  6. 高等数学 下册 第九章 平面及空间点集 笔记
  7. Excel集成股票分析工具案例
  8. 游戏ui切图,颜色通道_什么是ui通道设计,为什么如此重要
  9. python-面向对象的编程
  10. 趣味博弈论——斐波那契博弈