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

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

相关推荐

  • 南昌旅游必去景点,南昌市内有那些旅游景点

    技术南昌旅游必去景点,南昌市内有那些旅游景点1南昌旅游必去景点、滕王阁 秋水共长天一色江南三大名楼之一,因初唐诗人王渤的《滕王阁序》而声名远播,历经29次兴废之后,她依然保留着古朴的风格,弥漫着一股人文之气。素有“西江第

    生活 2021年10月27日
  • 2021,10,18 题解报告

    技术2021,10,18 题解报告 2021,10,18 题解报告写在前面
    \(T1\) 没想出来,卒
    T1
    招待(entertain)
    题目
    solution
    对 \(W\) 进行三进制拆分,每一位是

    礼包 2021年10月19日
  • 200. 岛屿数量

    技术200. 岛屿数量 200. 岛屿数量描述
    给你一个由’1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。
    岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆

    礼包 2021年12月2日
  • Python程序开发问题举例分析

    技术Python程序开发问题举例分析这篇文章主要介绍“Python程序开发问题举例分析”,在日常操作中,相信很多人在Python程序开发问题举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家

    攻略 2021年12月1日
  • 怎么理解C#中Queue的线程安全问题

    技术怎么理解C#中Queue的线程安全问题怎么理解C#中Queue的线程安全问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。通过集合枚举在

    攻略 2021年11月11日
  • Python 3.1核心语言的变化是怎么样的

    技术Python 3.1核心语言的变化是怎么样的Python 3.1核心语言的变化是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。这里我们将对Pyt

    攻略 2021年11月2日