在线观看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次閱讀
    主站蜘蛛池模板: 一级伦奸视频 | 天天爽天天爽天天片a久久网 | 久久亚洲国产视频 | 色网站免费视频 | 伊人久久大香线蕉综合bd高清 | 五月天精品在线 | jizz性欧美12| 日本精品视频四虎在线观看 | 国产亚洲精品仙踪林在线播放 | 亚洲 欧洲 日产 韩国在线 | 国产无限资源 | 午夜寂寞影 | 狠狠激情五月综合婷婷俺 | 萌白酱一线天粉嫩喷水在线观看 | 男人j进入女人免费视频 | 国产一区二区三区欧美精品 | 黄网在线免费观看 | 国产美女视频一区二区二三区 | 狠狠干干 | 色播在线 | 亚洲酒色1314狠狠做 | 亚洲国产成人久久笫一页 | 成人三级电影在线观看 | 人人草草 | 上课被同桌强行摸下面小黄文 | 色狠狠狠狠综合影视 | 男人的网址 | 一区二区三区高清在线 | 久久这里只精品热在线8 | 年轻的护士3 | 国产精品成人在线播放 | 中文字幕一二三四区2021 | 日韩毛片免费看 | 国产高清免费不卡观看 | 久久成人综合 | seba51久久精品 | 69日本人xxxxxxxx色 | 另类视频色综合 | 额去鲁97在线观看视频 | 亚洲网站免费观看 | 国产精品14p|