欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解Mybatis二級(jí)緩存

 更新時(shí)間:2016年12月20日 17:25:35   作者:我要這鐵棒有何用  
與一級(jí)緩存相比,二級(jí)緩存范圍更大了一些,可以被多個(gè)SqlSession所共用。下面通過本文帶領(lǐng)大家一起學(xué)習(xí)mybatis二級(jí)緩存知識(shí),一起看看吧

上篇文章給大家介紹了mybatis一級(jí)緩存,有需要的朋友可以參考下。

與一級(jí)緩存相比,二級(jí)緩存范圍更大了一些,可以被多個(gè)SqlSession所共用。

同樣是發(fā)送同樣的查詢sql會(huì)先去緩存中找,找不到再去查詢數(shù)據(jù)庫。

每個(gè)namespace的mapper都會(huì)有自己的一個(gè)緩存的空間。

如果兩個(gè)mapper的namespace相同,執(zhí)行mapper查詢到的數(shù)據(jù)將存儲(chǔ)到相同的二級(jí)緩存.

同樣如果有sqlSession執(zhí)行了commit 會(huì)清空二級(jí)緩存.

配置文件(不用配置也是默認(rèn)開啟的):

在sqlMapConfig.xml中:

<setting name="cacheEnabled" value="true"/> 

在相應(yīng)的mapper.xml中:

<cache/>

如果不需要二級(jí)緩存,可以在設(shè)置禁用二級(jí)緩存

<select useCache="false"></select>

這樣每次都是從數(shù)據(jù)庫中讀取

在執(zhí)行insert,update,delete后會(huì)刷新緩存(清空緩存),可以設(shè)置不刷新

一般不予設(shè)置,設(shè)置可能會(huì)導(dǎo)致臟讀.

<insert flushCache="false"></insert>

小例子:

SqlSession session1 = factory.openSession();
   SqlSession session2 = factory.openSession();
   SqlSession session3 = factory.openSession();
   UserMapper mapper1 = session1.getMapper(UserMapper.class);
   UserMapper mapper2 = session2.getMapper(UserMapper.class);
   UserMapper mapper3 = session3.getMapper(UserMapper.class);
   //第一次請(qǐng)求,查詢id為1的用戶
   User user1 = mapper1.findUserById(1);
   System.out.println(user1);
   //close 將數(shù)據(jù)寫入二級(jí)緩存
   session1.close();
   //清空二級(jí)緩存,UserMapper下的
   user1.setUsername("mmm");
   mapper3.updateUser(user1);
   session3.commit();
   //第二次查詢會(huì)從緩存中找
   User user2 = mapper2.findUserById(1);
   System.out.println(user2);
   session2.close();

注意此處要進(jìn)行二級(jí)緩存的對(duì)象必須實(shí)現(xiàn)Serilizable接口,因?yàn)檫@些緩存數(shù)據(jù)可能會(huì)反序列化寫到硬盤或者其他地方。

以上所述是小編給大家介紹的Mybatis二級(jí)緩存,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • java?Springboot對(duì)接開發(fā)微信支付詳細(xì)流程

    java?Springboot對(duì)接開發(fā)微信支付詳細(xì)流程

    最近要做一個(gè)微信小程序,需要微信支付,所以研究了下怎么在java上集成微信支付功能,下面這篇文章主要給大家介紹了關(guān)于java?Springboot對(duì)接開發(fā)微信支付的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • springboot從application.properties中注入list,?map方式

    springboot從application.properties中注入list,?map方式

    這篇文章主要介紹了springboot從application.properties中注入list,map方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • ConcurrentHashMap是如何實(shí)現(xiàn)線程安全的你知道嗎

    ConcurrentHashMap是如何實(shí)現(xiàn)線程安全的你知道嗎

    這篇文章主要介紹了ConcurrentHashMap是如何實(shí)現(xiàn)線程安全的你知道嗎,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java SpringCache+Redis緩存數(shù)據(jù)詳解

    Java SpringCache+Redis緩存數(shù)據(jù)詳解

    本篇文章主要介紹了淺談SpringCache與redis緩存數(shù)據(jù)的解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2021-10-10
  • MyBatis的foreach語句詳解

    MyBatis的foreach語句詳解

    這篇文章主要介紹了MyBatis的foreach語句詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • SpringBoot yaml中的數(shù)組類型取值方式

    SpringBoot yaml中的數(shù)組類型取值方式

    這篇文章主要介紹了SpringBoot yaml中的數(shù)組類型取值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring Cloud Stream與Kafka集成步驟(項(xiàng)目實(shí)踐)

    Spring Cloud Stream與Kafka集成步驟(項(xiàng)目實(shí)踐)

    Spring Cloud Stream是一個(gè)用于構(gòu)建消息驅(qū)動(dòng)微服務(wù)的框架,它是基于Spring Boot和Spring Integration創(chuàng)建的,旨在簡化與消息中間件的集成工作,本教程介紹了如何結(jié)合Spring Cloud Stream框架和Apache Kafka消息代理,創(chuàng)建一個(gè)集成示例應(yīng)用,感興趣的朋友一起看看吧
    2025-08-08
  • Nacos+Spring Cloud Gateway動(dòng)態(tài)路由配置實(shí)現(xiàn)步驟

    Nacos+Spring Cloud Gateway動(dòng)態(tài)路由配置實(shí)現(xiàn)步驟

    Nacos最近項(xiàng)目一直在使用,本文通過gateway、nacos-consumer、nacos-provider三個(gè)簡單模塊來展示:Nacos下動(dòng)態(tài)路由配置,,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java后端服務(wù)間歇性響應(yīng)慢的問題排查與解決

    Java后端服務(wù)間歇性響應(yīng)慢的問題排查與解決

    之前在公司內(nèi)其它團(tuán)隊(duì)找到幫忙排查的一個(gè)后端服務(wù)連接超時(shí)問題,問題的表現(xiàn)是服務(wù)部署到線上后出現(xiàn)間歇性請(qǐng)求響應(yīng)非常慢(大于10s),但是后端業(yè)務(wù)分析業(yè)務(wù)日志時(shí)卻沒有發(fā)現(xiàn)慢請(qǐng)求,所以本文給大家介紹了Java后端服務(wù)間歇性響應(yīng)慢的問題排查與解決,需要的朋友可以參考下
    2025-03-03
  • Java 語言守護(hù)線程 Daemon Thread使用示例詳解

    Java 語言守護(hù)線程 Daemon Thread使用示例詳解

    這篇文章主要為大家介紹了Java 語言守護(hù)線程 Daemon Thread使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10

最新評(píng)論