亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談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寫SQL語(yǔ)句,不能使用注解寫SQL語(yǔ)句

緩存的執(zhí)行順序

  • 先從二級(jí)緩存中查詢,二級(jí)緩存沒(méi)有進(jìn)入SqlSession中查詢
  • SqlSession沒(méi)有就去數(shù)據(jù)庫(kù)查詢,然后存到一級(jí)緩存中,查詢完關(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表第二次就查詢出了臟數(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)文章

  • @RequestParam?和@RequestBody注解的區(qū)別解析

    @RequestParam?和@RequestBody注解的區(qū)別解析

    在 Spring MVC 中,我們可以使用 @RequestParam 和 @RequestBody 來(lái)獲取請(qǐng)求參數(shù),但它們?cè)谟梅ê妥饔蒙嫌幸恍﹨^(qū)別,這篇文章主要介紹了@RequestParam?和@RequestBody注解的區(qū)別,需要的朋友可以參考下
    2023-06-06
  • 攔截器獲取request的值之后,Controller拿不到值的解決

    攔截器獲取request的值之后,Controller拿不到值的解決

    這篇文章主要介紹了攔截器獲取request的值之后,Controller拿不到值的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • SpringBoot + SpringSecurity 短信驗(yàn)證碼登錄功能實(shí)現(xiàn)

    SpringBoot + SpringSecurity 短信驗(yàn)證碼登錄功能實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot + SpringSecurity 短信驗(yàn)證碼登錄功能實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 1小時(shí)快速上手RabbitMQ(簡(jiǎn)介及安裝過(guò)程)

    1小時(shí)快速上手RabbitMQ(簡(jiǎn)介及安裝過(guò)程)

    RabbitMQ簡(jiǎn)稱MQ全稱是Message Queue(消息隊(duì)列),是在消息的傳輸過(guò)程中保存消息的容器,多用于分布式系統(tǒng)之間進(jìn)行通信,本文給大家講解了RabbitMQ簡(jiǎn)介與安裝,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友跟隨小編一起看看吧
    2023-01-01
  • SpringMVC前后端參數(shù)映射

    SpringMVC前后端參數(shù)映射

    在web開(kāi)發(fā)中我們都要進(jìn)行前端傳參后端取參的過(guò)程,本文主要介紹了SpringMVC前后端參數(shù)映射,針對(duì)GET,?POST,?PUT,?DELETE?請(qǐng)求的參數(shù)該如何映射,感興趣的可以了解一下
    2023-08-08
  • SpringBoot添加自定義攔截器的實(shí)現(xiàn)代碼

    SpringBoot添加自定義攔截器的實(shí)現(xiàn)代碼

    這篇文章主要介紹了SpringBoot添加自定義攔截器的實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • 將內(nèi)容寫到txt文檔里面并讀取及刪除的方法

    將內(nèi)容寫到txt文檔里面并讀取及刪除的方法

    本文有個(gè)不錯(cuò)的示例,主要講解如何將內(nèi)容寫到txt文檔里面、讀取文件里面的內(nèi)容以及清除txt文件里面的內(nèi)容
    2014-01-01
  • 解析SpringBoot中@Autowire注解的實(shí)現(xiàn)原理

    解析SpringBoot中@Autowire注解的實(shí)現(xiàn)原理

    在開(kāi)發(fā)Java項(xiàng)目時(shí),依賴注入是一種常見(jiàn)的實(shí)現(xiàn)方式,SpringBoot框架通過(guò)@Autowired注解來(lái)實(shí)現(xiàn)依賴注入的功能,本文將介紹SpringBoot中 Autowired注解實(shí)現(xiàn)的原理
    2023-06-06
  • IntelliJ?IDEA快速查詢maven依賴關(guān)系圖文教程

    IntelliJ?IDEA快速查詢maven依賴關(guān)系圖文教程

    Maven提供了來(lái)查看依賴關(guān)系,而IDE往往提供了更加便利的方式,比如Eclipse或者IDEA都有類似的功能,下面這篇文章主要給大家介紹了關(guān)于IntelliJ?IDEA快速查詢maven依賴關(guān)系的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • Java AQS信號(hào)量Semaphore的使用

    Java AQS信號(hào)量Semaphore的使用

    Semaphore來(lái)自于JDK1.5的JUC包,直譯過(guò)來(lái)就是信號(hào)量,被作為一種多線程并發(fā)控制工具來(lái)使用。本文將詳解其原理與使用方法,感興趣的可以學(xué)習(xí)一下
    2023-02-02

最新評(píng)論