@缓存驱逐中的艾伦特里与调用前的区别是什么

技术@CacheEvict中的allEntries与beforeInvocation的区别是什么这篇文章将为大家详细讲解有关@CacheEvict中的allEntries与beforeInvocation的区别是什么,文

本文将详细解释@ CacheEvict中的allEntries和beforeInvocation之间的区别。文章内容质量较高,边肖将分享给大家参考。希望你看完这篇文章后有所了解。

00-1010在spring cache中,@ CacheEvict是一个清除缓存的注释。

注释参数只能是值,key表示清除值空间中的键值数据。此时,默认情况下,当前注释方法成功执行后,它将被清除。

这个时候,就会出现问题。也许您的注释方法成功地执行了删除操作,但是后续代码抛出了一个异常,并且未能清除缓存,因此在下一次查询中仍然会从缓存中读取它。此时,查询结果值是删除操作之前的值。

有一个简单的解决方案,将beforeInvocation添加到注释参数中是真的,这意味着在执行此方法之前,缓存将被清除,因此无论此方法是否成功执行,缓存都不会存在。

当注释参数加上allEntries为真时,这意味着该缓存清除意味着清除当前值空间中的所有缓存数据。

00-1010最近,在项目中使用了@Cacheable和@ CacheEvict这两个注释来添加和清除缓存,但有时它们会出现在同一个事务中。首先,缓存是干净的,但是有一个方法不在这个事务中,它调用查询并将更新前的数据放回缓存中,所以我想好好研究一下从缓存中删除的注释@ CacheEvict。

@CacheEvict allEntries与beforeInvocation区别

必需属性,用于指定该方法清除哪个缓冲区数据。默认情况下,它是一个空数组。

00-1010这个属性是指整个缓冲区是否清晰。

00-1010为键属性,表示在执行相应方法之前是否删除缓存,默认值为false(即执行方法后删除缓存)。当我们在执行方法之前遇到删除缓存的需求时,也就是说,无论方法是否成功,我们都需要清除缓存,然后我们可以将before invoke的值更改为true。

00-1010此属性指定一个SpEL表达式,只有当表达式为真时,缓存才会被清除。

00-1010通过SpEL表达式显示指定缓存的密钥。

例如:key='#warehousePo.guid 'all ' '

@CacheEvict注解参数详解

缓存名称集合,数据结构为数组类型。

我用的比较多的是beforeInvocation的用法,因为根据不同的业务逻辑,会有不同的缓存删除场景,所以需要仔细考虑是设置为true还是false。文章比较浅,所以可以大致了解每个参数的含义。

@ CacheEvict中的allEntries和beforeInvocation有什么区别?我在这里分享一下。我希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/157915.html

(0)

相关推荐

  • ceph application not enabled 的解决方法

    技术ceph application not enabled 的解决方法 ceph application not enabled 的解决方法ceph application not enabled 的

    礼包 2021年11月9日
  • CPU基础知识-CPU的组成 运算器、控制器、寄存器

    技术CPU基础知识-CPU的组成 运算器、控制器、寄存器 CPU基础知识-CPU的组成 运算器、控制器、寄存器1 参考资料
    计算机硬件系统—CPU(运算器和控制器)(一) https://www.jia

    礼包 2021年12月13日
  • 洗发水推荐,有哪些蓬松控油的洗发水推荐

    技术洗发水推荐,有哪些蓬松控油的洗发水推荐先说下我的发质吧,我是头皮油,发丝干,到了夏天头皮更容易出油,所以我基本上春夏都喜欢用清爽洗发水推荐、控油比较好,且洗完之后头发比较蓬松的洗发水。推荐几款我用过觉得清洁力强,洗完

    生活 2021年10月29日
  • ios性能优化与调试(ios 性能优化和内存优化)

    技术iOS如何实现图形性能优化这篇文章将为大家详细讲解有关iOS如何实现图形性能优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。引言当一个产品渐渐成熟,我们便开始重视产品性能的优化。

    攻略 2021年12月24日
  • 双网卡问题

    技术双网卡问题 双网卡问题目录双网卡问题问题问题一问题二总结问题三
    双网卡问题
    问题环境介绍:
    如上图所示,PC-A有两卡网卡,注意,网卡一设置有默认网关,而网卡二并没有,网卡二只有IP和掩码,网卡的默

    礼包 2021年11月27日
  • 前端代码注释规范

    技术前端代码注释规范 前端代码注释规范前端代码注释规范
    目的和原则
    提高可读性和可维护性
    如无必要,勿增注释;如有必要,尽量详尽
    语法和快捷键
    单行注释:// 快捷键: ctrl+/
    多行注释:/**/

    礼包 2021年11月25日