在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

mybatis一級緩存和二級緩存的原理

科技綠洲 ? 來源:網絡整理 ? 作者:網絡整理 ? 2023-12-03 11:55 ? 次閱讀

MyBatis是一種輕量級的持久化框架,它提供了一級緩存和二級緩存的機制來優化數據庫操作性能。一級緩存是默認開啟的,而二級緩存需要手動配置啟用。

一、一級緩存
1.1 緩存生命周期

一級緩存存在于SqlSession的生命周期中,當SqlSession關閉時,一級緩存也會被清空。

1.2 緩存實現機制

一級緩存采用了基于PerpetualCache的HashMap來實現,使用一個Map對象來保存緩存的數據。當執行相同的查詢時,MyBatis會首先尋找一級緩存中是否存在對應的緩存數據,如果存在則直接返回,否則通過數據庫查詢獲取數據并放入緩存中。

1.3 緩存命中條件

緩存的命中條件比較嚴格,需要滿足以下條件:

同一個SqlSession。
相同的查詢語句。
參數也要相同。

如果其中有一個條件不滿足,將會導致緩存失效。

1.4 緩存清空

一級緩存有以下幾種清空方式:

通過調用SqlSession的clearCache()方法手動清空緩存。
執行任何的數據更新操作(insert、update、delete),會自動清空緩存。

二、二級緩存
2.1 緩存生命周期

二級緩存的生命周期和SqlSessionFactory相同,當應用程序關閉時,二級緩存也會被銷毀。

2.2 緩存實現機制

二級緩存也采用了基于PerpetualCache的HashMap來實現,但是它是一個全局的緩存,多個SqlSession之間可以共享這個緩存。

2.3 緩存命中條件

二級緩存的命中條件與一級緩存相同。

2.4 緩存清空

二級緩存的清空需要手動配置。在映射文件(Mapper)中的標簽內設置flushCache="true",可以在執行任何的數據更新操作后自動清空二級緩存。

2.5 配置二級緩存

在MyBatis的配置文件中配置二級緩存,需要在標簽內添加以下配置:


并在映射文件(Mapper)中的標簽內進行更多的配置。

三、一級緩存和二級緩存的比較和使用場景

3.1 一級緩存的優勢和劣勢

優勢:

一級緩存是默認啟用的,使用起來非常方便。
一級緩存存儲在SqlSession內部,讀寫速度非常快。

劣勢:

一級緩存只能在同一個SqlSession中共享,無法在多個SqlSession之間共享。
一級緩存的生命周期比較短,當SqlSession關閉時緩存也會被清空。

3.2 二級緩存的優勢和劣勢

優勢:

二級緩存是全局的,多個SqlSession之間可以共享。
二級緩存的生命周期和應用程序相同。

劣勢:

需要手動配置和啟用二級緩存。
二級緩存的讀寫速度相對于一級緩存要慢一些。

3.3 使用場景

一級緩存適用于以下情況:

數據庫查詢操作多且頻繁。
數據更新操作少且不頻繁。
數據庫查詢結果經常被重復使用。

二級緩存適用于以下情況:

多個SqlSession之間需要共享緩存數據。
數據更新操作較少。

總結:
MyBatis的一級緩存和二級緩存主要是為了提高數據庫操作性能而設計的兩個機制。一級緩存是默認開啟的,在SqlSession的生命周期內有效,使用方便但局限性較大。二級緩存需要手動配置啟用,為全局緩存,多個SqlSession之間可以共享數據,使用較為靈活。根據具體的應用場景和需求,可以靈活選擇合適的緩存策略來提高應用的性能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 緩存
    +關注

    關注

    1

    文章

    240

    瀏覽量

    26678
  • 數據庫
    +關注

    關注

    7

    文章

    3799

    瀏覽量

    64388
  • MAP
    MAP
    +關注

    關注

    0

    文章

    49

    瀏覽量

    15142
  • mybatis
    +關注

    關注

    0

    文章

    60

    瀏覽量

    6713
收藏 人收藏

    評論

    相關推薦

    CPU二級緩存打開器-加速

    CPU二級緩存打開器-加速軟件簡介:般的CPU在出廠時都是沒有真正打開二級緩存的!就像你吃饅頭,你可以吃4個,但吃了會覺得太飽,但也不會有什么大的傷 害!^_^而CPU也是,為了降低損壞率,
    發表于 03-02 17:04

    求大神指點 關于fpga實現數據的二級緩存

    如論文所示,應該如何實現二級緩存處理呢?四路信號是有pi/4相位差的方波信號
    發表于 06-21 18:29

    Java程序員筆記之mybatis結合redis實戰二級緩存

    Java程序員筆記——mybatis結合redis實戰二級緩存
    發表于 06-10 09:15

    二級緩存致性

    裸機下運行多核程序,開128KB的二級緩存時,結果沒問題,但是開了256KB的二級緩存時,結果出現偏差,請問這種問題該怎么排查解決
    發表于 08-24 21:40

    CPU一級緩存

    CPU一級緩存              CPU緩存(Cache Memo
    發表于 12-24 10:21 ?461次閱讀

    CPU二級緩存容量

    CPU二級緩存容量            CPU緩存(Cache Memory)是位
    發表于 12-24 10:22 ?535次閱讀

    什么是聯合并行處理二級緩存

    什么是聯合并行處理二級緩存? 聯合并行處理二級緩存是(set-associative)將二級緩存劃分不同的片段,在每片段中包含許多緩存
    發表于 02-04 10:34 ?315次閱讀

    什么是CPU一級緩存/二級緩存

    什么是CPU一級緩存/二級緩存?  即L1 Cache。集成在CPU內部中,用于CPU在處理數據過程中數據的暫時保存。由于緩存指令和數據與CPU
    發表于 02-04 10:43 ?1171次閱讀

    Mybatis緩存一級緩存

    本文主要講mybatis一級緩存一級緩存是SqlSession級別的緩存
    發表于 11-27 20:44 ?1227次閱讀
    <b class='flag-5'>Mybatis</b><b class='flag-5'>緩存</b>之<b class='flag-5'>一級</b><b class='flag-5'>緩存</b>

    一級緩存二級緩存、三緩存區別是什么 詳解它們的區分方法

    一級緩存(Level?1?Cache)簡稱L1?Cache,位于CPU內核的旁邊,是與CPU結合最為緊密的CPU緩存,也是歷史上最早出現的CPU緩存
    發表于 08-14 09:27 ?8.1w次閱讀

    怎樣啟用CPU的二級緩存 如何查看二級緩存的參數

    提到二級緩存容量的差距,還得從兩大CPU巨頭對一級緩存的理解說起。對,沒看錯,就是平常曝光率遠遜于二級緩存的“一級
    的頭像 發表于 08-14 10:20 ?1.2w次閱讀

    如何檢測cpu二級緩存是否損壞 詳解二級緩存對CPU性能影響

    綜上所述,在CPU性能方面,并非只從二級緩存容量上作對比就可以得到準確的答案,實際上還要考慮到緩存的總體設計結構、一級數 據緩存容量等因素。
    發表于 08-14 10:39 ?1w次閱讀
    如何檢測cpu<b class='flag-5'>二級緩存</b>是否損壞 詳解<b class='flag-5'>二級緩存</b>對CPU性能影響

    二級緩存的簡單配置教程詳解 淺談二級緩存之功效

    緩存是指可以進行高速數據交換的存儲器,它先于內存與CPU交換數據,因此速度很快。L1Cache(一級緩存)是CPU第一層高速緩存
    發表于 08-14 15:28 ?4283次閱讀
    <b class='flag-5'>二級緩存</b>的簡單配置教程詳解 淺談<b class='flag-5'>二級緩存</b>之功效

    處理器緩存有啥用

    按照數據讀取順序和與CPU結合的緊密程度,CPU緩存可以分為一級緩存二級緩存,如今主流CPU還有三
    的頭像 發表于 01-21 17:11 ?1.5w次閱讀

    CPU緩存的作用及原理有哪些

    CPU緩存是位于CPU與內存之間的臨時存儲器,它的容量比內存小很多,但交換速度比內存要快很多。 CPU緩存分為三類:一級緩存—L1、二級緩存
    的頭像 發表于 08-27 15:58 ?1.1w次閱讀
    主站蜘蛛池模板: 办公室桌震娇喘视频大全在线| 亚洲香蕉影视在线播放| 亚洲国产精品综合久久网络| 日韩欧美高清色码| 91x视频| 免费拍拍视频| 花怜write. as| 欧美午夜精品久久久久久黑人| 一区二区三区影视| 欲香欲色| 国内久久精品视频| 黄黄视频免费看| 伊人久久大| 国产精品李雅在线观看| 天天看a| 毛片视频网址| 久久在精品线影院精品国产| 美女黄18以下禁止观看的网站| 黄网站在线观看视频| 久久精品免费视频观看| 久久天天躁狠狠躁夜夜躁| 伊人久色| 丁香六月婷婷七月激情| 夜恋秀场欧美成人影院| 四虎看黄| 特黄一级| 98pao强力打造高清免费| 伊人精品久久久大香线蕉99| 狠狠色丁香六月色| 欧美色穴| 欧美人成网站免费大全| www.五月婷婷| 国产成人影院| 成人中文字幕一区二区三区 | www.999精品视频观看免费| 男人视频在线| 婷婷丁香在线| 天天干天天透| 亚洲天堂资源| 国产精品美女视频| 中文字幕亚洲色图|