Mybatis的一級快取和二級快取

2021-10-25 10:09:14 字數 1041 閱讀 4696

什麼是快取?

存在於記憶體中的臨時資料。

為什麼使用快取?

減少和資料庫的互動次數,提高執行效率

什麼資料能使用快取,什麼樣的資料不能使用快取?

適用於快取:經常查詢並且不經常該變的。資料的正確與否對最終結果影響不大的。

不適用於快取:經常改變的資料,資料的正確與否對最終結果影響很大的。比如銀行匯率

mybatis的一級快取和二級快取?

一級快取:

它指的是mybatis中sqlsession物件的快取。當我們執行查詢之後,查詢到結果會通知存入到sqlsession我們提供的乙個區域中。該區域的結構是乙個map。當我們再次查詢同一的資料,mybaits會去sqlsession中查詢是否存在,有的話就直接拿出來用。當sqlsession物件消失時,mybatis的一級快取也就消失了,或者使用sqlsession.clearcache();也可以清空快取。

二級快取:

它指的是mybatis中sqlsessionfactory物件的快取,由同乙個sqlsessionfactory建立的sqlseesion共享快取。

注意:二級快取存放的是資料,不是物件,使用時,是將資料拿過來,放進乙個新的物件中。

使用步驟:

1、讓mybatis框架支援二級快取(在sqlmapconfig.xml配置)

預設值就是true

開啟支援二級快取

3、讓當前操作支援二級快取(在select標籤中配置)

mybatis 快取(一級和二級快取)

1.快取 好處 快取的使用演示 1 sql語句或查詢條件不同 2 分屬不同sqlsession物件 3 查詢前執行clearcache 4 提交事務 2.一級快取 3.二級快取 跟 web應用中 物件作用範圍類似。cacheenabled value true flushinterval 快取重新整...

Mybatis 一級快取和二級快取

一級快取是sqlsession級別的快取 工作機制 乙個sqlsession就代表和資料庫的一次會話,在資料庫中查出的資料放在一級快取中,同乙個物件再次查詢時,會去快取中查詢,避免了再次查詢資料庫。使用 mybatis預設開啟,不需要手動設定 舉例 同乙個物件,查詢兩次,只呼叫一次sql 注 所有測...

mybatis 快取(一級和二級快取)

1.快取 好處 快取的使用演示 1 sql語句或查詢條件不同 2 分屬不同sqlsession物件 3 查詢前執行clearcache 4 提交事務 2.一級快取 3.二級快取 flushinterval 快取重新整理時間間隔,時間是毫秒,檢查是否存在過期物件 size 快取中儲存的物件個數 rea...