MyBatis 緩存機制

Mybatis 有兩級緩存:

  一級緩存:

    也稱為本地緩存,SqlSession級別的緩存。一級緩存是一直開啟的;

    與數據庫同一次會話期間查詢到的數據會放在本地緩存中,以后如果需要獲取相同的數據,直接從緩存中拿,沒必要再去查詢數據庫

    一級緩存失效情況:

      1、SqlSession 不同

      2、SqlSession 相同,查詢條件不同

      3、SqlSession 相同,兩次查詢之間執行了增刪改操作

      4、SqlSession 相同,手動清除了一級緩存

  二級緩存:

    全局緩存,namespace 級別的緩存,一個 namespace 對應一個二級緩存

    工作機制:

      1、一個會話,查詢一條數據,這個數據就會被放在一級緩存中

      2、如果緩存關閉,一級緩存中的數據會被保存到二級緩存中。新的會話查詢信息,就可以參照二級緩存中的內容

      3、不同 namespace 查出的數據會被放在自己對應的緩存中

      注意:數據從二級緩存中獲取

          查出的數據會被默認先放在一級緩存中,只有會話提交或者關閉后,一級緩存中的數據才會提交到二級緩存中

    使用:

      1、開啟全局緩存配置:cacheEnabled設為 true

      2、去 mapper.xml 中配置 <cache></cache>

      3、我們的 POJO 需要實現序列化接口

轉載于:https://www.cnblogs.com/zyx1301691180/p/7800884.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252967.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252967.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252967.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android虛擬化引擎VirtualApp探究

2019獨角獸企業重金招聘Python工程師標準>>> 介紹 首先需要說明的是&#xff0c;VirtualApp并不是前些陣子滴滴開源的插件化框架VirtualApk。 VirtualApp是一個更加黑科技的東西&#xff0c;他可以創建一個虛擬空間&#xff0c;你可以在虛擬空間內任意的安裝、啟動和…

揭開全景相機的創業真相

&#xff08;Bubl全景相機&#xff09; 國外一開源&#xff0c;國內就自主。這在VR&#xff08;虛擬現實&#xff09;領域體現的淋漓盡致——Google的Cardborad一開源&#xff0c;國內就有數百家廠商蜂擁做了各種插手機的VR盒子。到了全景相機&#xff0c;這一幕似乎又開始重演…

一個厲害的網站

2019獨角獸企業重金招聘Python工程師標準>>> dromara 發現一個網站&#xff0c;發現上面的開源項目真的都非常厲害誒。 轉載于:https://my.oschina.net/miaojiangmin/blog/2934221

最全VR產業鏈全景圖(必收藏)

http://www.360doc.com/content/16/0324/20/28622037_544974325.shtml

本地計算機綁定域名訪問

我們知道localhost綁定的是本地主機IP&#xff08;127.0.0.1&#xff09;&#xff0c;那么我們能不能自定義綁定本地主機IP地址呢&#xff1f;答案是肯定的&#xff0c;同修改hosts文件&#xff0c;我們可以實現上面的需求。 打開本地C盤&#xff0c;找到Windows文件夾-->Sy…

Tomcat配置及原理文章

同一tomcat實現多端口多域名訪問 tomcat源碼分析(第一篇 從整體架構開始) tomcat源碼分析(第二篇 tomcat啟動過程詳解) tomcat源碼分析(第三篇 tomcat請求原理解析--Connector源碼分析) tomcat源碼分析(第四篇 tomcat請求處理原理解析--Container源碼分析)轉載于:https://www.c…

windwon安裝macaca環境

一 安裝配置java1.安裝java_jdk &#xff0c;安裝過程中順帶一起安裝jre(1)選擇【新建系統變量】--彈出“新建系統變量”對話框&#xff0c;在“變量名”文本框輸入“JAVA_HOME”,在“變量值”文本框輸入JDK的安裝路徑&#xff0c; 如“C&#xff1a;/Java/jdk1.6.0_25”(2)在“…

三星要用Exynos 9芯片打造獨立VR頭顯

【天極網VR虛擬現實頻道】近期有數據顯示&#xff0c;2016年全球VR虛擬現實設備的出貨量達到了630萬臺&#xff0c;其中三星Gear VR以451萬臺出貨量稱霸全球VR市場&#xff0c;占據高達71%的市場份額。不過三星的眼光并不局限于手機VR設備&#xff0c;這家公司正在計劃推出一款…

消息隊列常見的 5 個應用場景

消息隊列中間件是分布式系統中重要的組件&#xff0c;主要解決應用耦合&#xff0c;異步消息&#xff0c;流量削鋒等問題&#xff0c;實現高性能、高可用、可伸縮和最終一致性架構。使用較多的消息隊列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。 消息隊列應用場…

Leetcode之二叉樹(前200道)

持續更新... github鏈接&#xff1a;https://github.com/x2mercy/Leetcode_Solution 為什么括號200道呢&#xff01;因為準備按照200道這樣的周期刷&#xff0c;每200道刷兩遍&#xff0c;第一遍按難度刷&#xff0c;第二遍按類別刷&#xff01; 先整理binarytree這一類別也是因…

在ARM Linux下使用GPIO模擬SPI時序詳解

Author&#xff1a;楊正 Data&#xff1a;2016.1.1 Mail&#xff1a;yz2012wwgmail.com一、 概述 SPI是英文SerialPeripheral Interface的縮寫&#xff0c;顧名思義就是串行外圍設備接口。SPI是一種高速、全雙工、同步通信總線&#xff0c;標準的SPI有4個引腳&#xff…

git clone時出現 error:inflate:data stream error(incorrect data check)

git clone時出現 error:inflate:data stream error(incorrect data check) fatal:serrious inflate inconsistency fatal:index-pack failed 經了解&#xff0c;此問題是遺留問題&#xff0c;之前是因為公司對gitlab服務器進行數據遷移而引起這種git clone失敗的原因&#xff0…

CentOS 7.5 使用 yum 安裝 Kubernetes 集群(二)

一、安裝方式介紹 1、yum 安裝 目前CentOS官方已經把Kubernetes源放入到自己的默認 extras 倉庫里面&#xff0c;使用 yum 安裝&#xff0c;好處是簡單&#xff0c;壞處也很明顯&#xff0c;需要官方更新 yum 源才能獲得最新版本的軟件&#xff0c;而所有軟件的依賴又不能自己指…

zbb20171108 tomcat 性能優化

原文地址http://www.cnblogs.com/NiceTime/p/6665416.html 1)內存優化(調整配置堆的大小&#xff0c;修改文件&#xff1a;catalina.sh) JAVA_OPTS"-Djava.awt.headlesstrue -Dfile.encodingUTF-8 -server -XX:MinHeapFreeRatio80 -XX:MaxHeapFreeRatio80 -XX:ThreadStack…

深入理解pthread_cond_wait、pthread_cond_signal

man pthread_cond_wait的解釋 LINUX環境下多線程編程肯定會遇到需要條件變量的情況&#xff0c;此時必然要使用pthread_cond_wait()函數。但這個函數的執行過程比較難于理解。 pthread_cond_wait()的工作流程如下&#xff08;以MAN中的EXAMPLE為例&#xff09;&#xff1a;…

LeetCode算法題-Factorial Trailing Zeroes(Java實現)

這是悅樂書的第183次更新&#xff0c;第185篇原創 01 看題和準備 今天介紹的是LeetCode算法題中Easy級別的第42題&#xff08;順位題號是172&#xff09;。給定一個整數n&#xff0c;返回n&#xff01;中的尾隨零數。例如&#xff1a; 輸入&#xff1a;3 輸出&#xff1a;0 說明…

JavaWeb基礎—JS學習小結

JavaScript是一種運行在瀏覽器中的解釋型的編程語言 推薦&#xff1a;菜鳥教程一、簡介js:javascript是基于對象【哪些基本對象呢】和和事件驅動【哪些主要事件呢】的語言&#xff0c;應用在客戶端&#xff08;注意與面向對象的區分&#xff09; js的三大特點&#xff1a;  交…

Asp.Net 設計模式 之 “簡單工廠”模式

主要思想&#xff1a;public static Operation CreateFactory(string ope) { //實例化空父類&#xff0c;讓父類指向子類 Operation op null; switch (ope) { case "": op …

UBuntu國內鏡像地址下載

http://www.oschina.net/p/ubuntu http://releases.ubuntu.com/ http://mirrors.163.com/ubuntu-releases/14.04/

Effective_STL 學習筆記(十九) 了解相等和等價的區別

find 算法和 set 的 insert 成員函數是很多必須判斷兩個值是否相同的函數代表&#xff0c; find 對 “相同” 的定義是相等&#xff0c;基于 operator &#xff0c; set::insert 對 “相同” 的定義是等價&#xff0c;通常基于 operator< 。 操作上來說&#xff0c;相等的概…