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

技术@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)

相关推荐

  • mysql从共享表空间修改为单个表的表空间存储方式是什么

    技术mysql从共享表空间修改为单个表的表空间存储方式是什么本篇文章为大家展示了mysql从共享表空间修改为单个表的表空间存储方式是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收

    攻略 2021年11月16日
  • 如何快速了解Https

    技术如何快速了解Https如何快速了解Https,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。HTTPS简介HTTPS:https是http

    攻略 2021年11月12日
  • 精益求精是什么意思,精益求精精益求精的精是什么意思

    技术精益求精是什么意思,精益求精精益求精的精是什么意思一、意思是:(学术、技术、作品、产品等)好了还求更好精益求精是什么意思。二、引证:毛泽东《纪念白求恩》:白求恩同志是个医生,他以医疗为职业,对技术~;在整个八路军医务

    生活 2021年10月21日
  • 香港服务器租用哪家好

    技术香港服务器租用哪家好如果您已经决定哪种服务器类型最适合存储您的数据,那么现在是确定您的业务需求的时候了。找到最合适的报价将使您避免过度支出。您可以在下方看到在浏览机房服务商的报价时应考虑的最重要方面的选购清单。可访问

    礼包 2021年12月23日
  • 三相功率的计算公式,三相电动机功率计算方法

    技术三相功率的计算公式,三相电动机功率计算方法三相电动机功率三相功率的计算公式: P3=3P相=3*U相*I相*COSφ*效率=√3*U 线 *I线*COSφ*η 效率
    =1.732U线*I线*COSφ*效率
    1.三相

    2021年10月25日
  • 第十章(二) 模块补充 hashlib+log

    技术第十章(二) 模块补充 hashlib+log 第十章(二) 模块补充 hashlib+loghashlib模块
    加密:将明文数据通过一系列算法变成密文数据(目的就是为了数据的安全)加密算法:md系

    礼包 2021年11月30日