最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

@CacheEvict中的allEntries與beforeInvocation的區(qū)別說明

 更新時間:2021年12月24日 16:27:59   作者:c413969814  
這篇文章主要介紹了@CacheEvict中的allEntries與beforeInvocation的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@CacheEvict allEntries與beforeInvocation區(qū)別

在spring cache中,@CacheEvict是清除緩存的注解。

其中注解參數(shù)可以只有value,key意思是清除在value值空間中的key值數(shù)據(jù),此時默認在當前注解方法成功執(zhí)行之后再清除。

這時候就會存在一個問題,也許你的注解方法成功執(zhí)行了刪除操作,但是后續(xù)代碼拋出異常導(dǎo)致未能清除緩存,下次查詢時依舊從緩存中去讀取,這時查詢到的結(jié)果值是刪除操作之前的值。

有一個簡單的解決辦法,在注解參數(shù)里面加上beforeInvocation為true,意思是說當執(zhí)行這個方法之前執(zhí)行清除緩存的操作,這樣不管這個方法執(zhí)行成功與否,該緩存都將不存在。

當注解參數(shù)加上allEntries為true時,意思是說這個清除緩存是清除當前value值空間下的所有緩存數(shù)據(jù)。

@CacheEvict注解參數(shù)詳解

最近在項目中一直用到@Cacheable和@CacheEvict這兩個注解來加緩存和清除緩存,但有時候會出現(xiàn)在同一個事務(wù)中先是清楚了緩存,但是有不在這個事務(wù)中的方法調(diào)用了查詢,又把更新前的數(shù)據(jù)重新放到緩存里面了,所以就想好好的去研究一下@CacheEvict這個緩存刪除的注解

1.value

必須屬性,用于指定該方法清除哪個緩存區(qū)的數(shù)據(jù),默認是一個空的數(shù)組

2. allEntries

這個屬性是指是否清楚整個緩存區(qū)

3.beforeInvocation

這個屬性比較關(guān)鍵,他的意思是是否在執(zhí)行對應(yīng)方法之前刪除緩存,默認 false(即執(zhí)行方法之后再刪除緩存),當我們遇到需要在執(zhí)行方法前刪除緩存,也就是不管方法執(zhí)行是否成功都需要清除緩存,那我們就可以把beforeInvocation的值改為true

4.condition

這個屬性是指定一個SpEL表達式,只有當該表達式為true時才會清除緩存

5.key

通過SpEL表達式顯示指定緩存的key

eg: key = "#warehousePo.guid + ‘a(chǎn)ll'"

6.cacheNames

cache名稱集合,數(shù)據(jù)結(jié)構(gòu)為數(shù)組類型

我用到的比較多的就是beforeInvocation的使用,因為根據(jù)不同的業(yè)務(wù)邏輯,會出現(xiàn)緩存刪除的場景不同,需要慎重考慮設(shè)置為true還是false,文章比較淺,可以大致理解一下各個參數(shù)的含義。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實現(xiàn)堆排序(Heapsort)實例代碼

    Java實現(xiàn)堆排序(Heapsort)實例代碼

    這篇文章主要介紹了Java實現(xiàn)堆排序(Heapsort)實例代碼,有需要的朋友可以參考一下
    2013-12-12
  • SpringBoot+Mybatis-plus+shardingsphere實現(xiàn)分庫分表的方案

    SpringBoot+Mybatis-plus+shardingsphere實現(xiàn)分庫分表的方案

    實現(xiàn)億級數(shù)據(jù)量分庫分表的項目是一個挑戰(zhàn)性很高的任務(wù),下面是一個基于Spring Boot的簡單實現(xiàn)方案,感興趣的朋友一起看看吧
    2024-03-03
  • Java中利用Alibaba開源技術(shù)EasyExcel來操作Excel表的示例代碼

    Java中利用Alibaba開源技術(shù)EasyExcel來操作Excel表的示例代碼

    這篇文章主要介紹了Java中利用Alibaba開源技術(shù)EasyExcel來操作Excel表的示例代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java實現(xiàn)Treap樹的示例代碼

    Java實現(xiàn)Treap樹的示例代碼

    本文主要介紹了Java實現(xiàn)Treap樹的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • SpringBoot框架搭建教程分享

    SpringBoot框架搭建教程分享

    這篇文章主要為大家詳細介紹了SpringBoot框架搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • SpringBoot配置@Configuration注解和@bean注解

    SpringBoot配置@Configuration注解和@bean注解

    這篇文章主要介紹了SpringBoot配置@Configuration注解和@bean注解,文章圍繞主題相關(guān)內(nèi)容展開詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-04-04
  • SpringBoot中DTO/VO/Entity相互轉(zhuǎn)換詳解

    SpringBoot中DTO/VO/Entity相互轉(zhuǎn)換詳解

    在我們平時開發(fā)中,dto、vo、entity之間的相互轉(zhuǎn)換是很頻繁的操作,這篇文章就簡單記錄一下在平時開發(fā)中SpringBoot的轉(zhuǎn)換方法,希望對大家有所幫助
    2025-01-01
  • SpringBoot Service和Dao的編寫詳解

    SpringBoot Service和Dao的編寫詳解

    這篇文章主要介紹了SpringBoot Service和Dao的編寫詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 解讀Mapper與Mapper.xml文件之間匹配的問題

    解讀Mapper與Mapper.xml文件之間匹配的問題

    這篇文章主要介紹了解讀Mapper與Mapper.xml文件之間匹配的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • idea2019配置Tomcat9全過程

    idea2019配置Tomcat9全過程

    這篇文章主要介紹了idea2019配置Tomcat9全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-11-11

最新評論

岚皋县| 呼和浩特市| 祁门县| 迭部县| 平顶山市| 永修县| 青河县| 岚皋县| 桃源县| 商都县| 苗栗市| 台山市| 东乌珠穆沁旗| 木兰县| 桦南县| 土默特左旗| 明溪县| 龙泉市| 南投市| 宿松县| 台南市| 鸡西市| 溆浦县| 新竹县| 土默特左旗| 蓬溪县| 宣汉县| 道真| 灵璧县| 西畴县| 浮梁县| 武穴市| 灵川县| 桃园市| 平乡县| 嘉黎县| 固安县| 鄂托克前旗| 项城市| 靖远县| 安图县|