溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis一級緩存和二級緩存有哪些區(qū)別

發(fā)布時間:2021-01-22 13:46:59 來源:億速云 閱讀:1555 作者:小新 欄目:編程語言

小編給大家分享一下mybatis一級緩存和二級緩存有哪些區(qū)別,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

mybatis一級緩存和二級緩存的區(qū)別:1、一級緩存Mybatis的一級緩存是指SQLSession,一級緩存的作用域是SQlSession,Mabits默認開啟一級緩存;2、Mybatis默認是沒有開啟二級緩存的。

mybatis一級緩存和二級緩存的區(qū)別:

1)一級緩存 Mybatis的一級緩存是指SQLSession,一級緩存的作用域是SQlSession, Mabits默認開啟一級緩存。 在同一個SqlSession中,執(zhí)行相同的SQL查詢時;第一次會去查詢數(shù)據(jù)庫,并寫在緩存中,第二次會直接從緩存中取。 當執(zhí)行SQL時候兩次查詢中間發(fā)生了增刪改的操作,則SQLSession的緩存會被清空。

每次查詢會先去緩存中找,如果找不到,再去數(shù)據(jù)庫查詢,然后把結(jié)果寫到緩存中。 Mybatis的內(nèi)部緩存使用一個HashMap,key為hashcode+statementId+sql語句。Value為查詢出來的結(jié)果集映射成的java對象。 SqlSession執(zhí)行insert、update、delete等操作commit后會清空該SQLSession緩存。

2)二級緩存 二級緩存是mapper級別的,Mybatis默認是沒有開啟二級緩存的。 第一次調(diào)用mapper下的SQL去查詢用戶的信息,查詢到的信息會存放代該mapper對應的二級緩存區(qū)域。 第二次調(diào)用namespace下的mapper映射文件中,相同的sql去查詢用戶信息,會去對應的二級緩存內(nèi)取結(jié)果。

mybatis一級緩存和二級緩存有哪些區(qū)別

看完了這篇文章,相信你對“mybatis一級緩存和二級緩存有哪些區(qū)別”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI