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

淺談Mybatis二級(jí)緩存的缺陷

 更新時(shí)間:2022年08月19日 16:29:13   作者:李顯赤赤  
本文主要介紹了淺談Mybatis二級(jí)緩存的缺陷,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一級(jí)緩存默認(rèn)是開(kāi)啟的(但是整合了Spring,Mybatis的一級(jí)緩存默認(rèn)就失效了)

二級(jí)緩存是要手動(dòng)配置開(kāi)啟的(二級(jí)緩存是mapper級(jí)別的緩存,可以跨SqlSession)

Mybatis二級(jí)緩存

開(kāi)啟二級(jí)緩存(xml方式):在*Mapper.xml中加入如下代碼

<!--eviction: 清空緩存的策略
    readOnly: 是否只讀
    flushInterval: 每個(gè)60秒刷新一次緩存
    size: 內(nèi)存大小,最多存儲(chǔ)結(jié)果對(duì)象或者列表的512個(gè)引用 -->
<cache readOnly="true" eviction="FIFO" flushInterval="60000" size="512"/>

緩存清除策略

  • LRU – 最近最少使用:移除最長(zhǎng)時(shí)間不被使用的對(duì)象。
  • FIFO – 先進(jìn)先出:按對(duì)象進(jìn)入緩存的順序來(lái)移除它們。
  • SOFT – 軟引用:基于垃圾回收器狀態(tài)和軟引用規(guī)則移除對(duì)象。
  • WEAK – 弱引用:更積極地基于垃圾收集器狀態(tài)和弱引用規(guī)則移除對(duì)象。

兩種方式二選一,如果都配置會(huì)報(bào)錯(cuò):Caches collection already contains value for com.lixianhe.dao.UserMapper

注意:使用Mybatis二級(jí)緩存必須是xml寫(xiě)SQL語(yǔ)句,不能使用注解寫(xiě)SQL語(yǔ)句

緩存的執(zhí)行順序

  • 先從二級(jí)緩存中查詢(xún),二級(jí)緩存沒(méi)有進(jìn)入SqlSession中查詢(xún)
  • SqlSession沒(méi)有就去數(shù)據(jù)庫(kù)查詢(xún),然后存到一級(jí)緩存中,查詢(xún)完關(guān)閉SqlSession
  • 一級(jí)緩存再提交給二級(jí)緩存

在開(kāi)啟二級(jí)緩存的情況下執(zhí)行一條sql

select colA1, colA2, colB1, colB2 
from A, B 
where ...

A表執(zhí)行了上述的sql
B表更新了字段cloB1,colB2
A表再次執(zhí)行了上述的sql(前提沒(méi)有執(zhí)行insert、update、delete)
A表第二次就查詢(xún)出了臟數(shù)據(jù)(B表的數(shù)據(jù)就是臟數(shù)據(jù)),這個(gè)問(wèn)題對(duì)二級(jí)緩存來(lái)說(shuō)是一個(gè)無(wú)解的問(wèn)題

因此Mybatis二級(jí)緩存的使用用一個(gè)前提,必須保證所有的增刪改查都在同一個(gè)namespace下才行

由于二級(jí)緩存的弊端,所以并不建議在實(shí)際生產(chǎn)中使用,而是在外部實(shí)現(xiàn)自己的緩存,如使用Redis做緩存

到此這篇關(guān)于淺談Mybatis二級(jí)緩存的缺陷的文章就介紹到這了,更多相關(guān)Mybatis二級(jí)緩存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MyBatis-Plus忽略多租戶(hù)隔離自定義注解

    MyBatis-Plus忽略多租戶(hù)隔離自定義注解

    本文主要介紹了MyBatis-Plus忽略多租戶(hù)隔離自定義注解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 使用Spring Data JPA的坑點(diǎn)記錄總結(jié)

    使用Spring Data JPA的坑點(diǎn)記錄總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于使用Spring Data JPA的一些坑點(diǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • logback的FileAppender文件追加模式和沖突檢測(cè)解讀

    logback的FileAppender文件追加模式和沖突檢測(cè)解讀

    這篇文章主要為大家介紹了logback的FileAppender文件追加模式和沖突檢測(cè)解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • yaml配置對(duì)象map使用示例

    yaml配置對(duì)象map使用示例

    這篇文章主要為大家介紹了yaml配置對(duì)象map使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • WebsocketClient斷線(xiàn)的一些常見(jiàn)原因及解決辦法

    WebsocketClient斷線(xiàn)的一些常見(jiàn)原因及解決辦法

    這篇文章主要給大家介紹了關(guān)于WebsocketClient斷線(xiàn)的一些常見(jiàn)原因及解決辦法,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用WebsocketClient斷線(xiàn)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-12-12
  • SpringBoot如何使用validator框架優(yōu)雅地校驗(yàn)參數(shù)

    SpringBoot如何使用validator框架優(yōu)雅地校驗(yàn)參數(shù)

    文章介紹了如何使用SpringValidation進(jìn)行參數(shù)校驗(yàn),包括引入依賴(lài)、@requestBody和@requestParam參數(shù)校驗(yàn)、統(tǒng)一異常處理、分組校驗(yàn)、嵌套校驗(yàn)、自定義校驗(yàn)、業(yè)務(wù)規(guī)則校驗(yàn)以及@Valid和@Validated的區(qū)別,同時(shí),列舉了常用的BeanValidation和HibernateValidator注解
    2025-02-02
  • 圖解如何在Spring Boot中使用JSP頁(yè)面

    圖解如何在Spring Boot中使用JSP頁(yè)面

    這篇文章主要介紹了圖解如何在Spring Boot中使用JSP頁(yè)面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java套接字(Socket)網(wǎng)絡(luò)編程入門(mén)

    Java套接字(Socket)網(wǎng)絡(luò)編程入門(mén)

    這篇文章主要介紹了Java套接字(Socket)網(wǎng)絡(luò)編程入門(mén),Socket可以理解為是對(duì)TCP/IP協(xié)議的抽象,需要的朋友可以參考下
    2015-10-10
  • Spring中屬性文件properties的讀取與使用詳解

    Spring中屬性文件properties的讀取與使用詳解

    這篇文章主要介紹了Spring中屬性文件properties的讀取與使用詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 基于SpringBoot bootstrap.yml配置未生效的解決

    基于SpringBoot bootstrap.yml配置未生效的解決

    這篇文章主要介紹了基于SpringBoot bootstrap.yml配置未生效的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10

最新評(píng)論

通辽市| 黎平县| 东辽县| 景德镇市| 东台市| 犍为县| 南昌市| 武隆县| 武城县| 星子县| 昂仁县| 响水县| 张家口市| 德保县| 石楼县| 天水市| 通城县| 郧西县| 铜山县| 静海县| 维西| 若羌县| 谢通门县| 库尔勒市| 泽库县| 黄山市| 桃园市| 西贡区| 苏尼特右旗| 水城县| 紫金县| 玉田县| 全南县| 本溪市| 平罗县| 边坝县| 灵丘县| 确山县| 扎鲁特旗| 英山县| 大关县|