Mybatis 九 快取機制

2022-09-08 03:30:16 字數 549 閱讀 5569

前言:

mybatis系統中預設定義了兩級快取:一級快取二級快取

一級快取也叫本地快取:

一級快取失效的四種情況

沒有使用到當前的一級快取,效果就是,還需要再向資料庫中發起一次查詢請求!一級快取就是乙個map

二級快取也叫全域性快取

基於namespace級別的快取,乙個命名空間,對應乙個二級快取;

開啟全域性快取

這個更高階的配置建立了乙個 fifo 快取,每隔 60 秒重新整理,最多可以儲存結果物件或列表的 512 個引用,而且返回的物件被認為是唯讀的,因此對它們進行修改可能會在不同執行緒中的呼叫者產生衝突。

總結

查出的資料都會被預設先放在一級快取中

只有會話提交或者關閉以後,一級快取中的資料才會轉到二級快取中

mybatis快取機制

mybatis和hibernate一樣,也提供了一二級快取。若存在一二級快取,則資料不會去資料庫互動,而是去記憶體中獲取。一級快取是sqlsession級別的快取。在運算元據庫時需要構造sqlsession物件,在物件中有乙個資料結構 一般來說是hashmap 來儲存快取資料。不同的sqlsessi...

MyBatis 快取機制

mybatis 提供了查詢快取來獲取資料,以提高查詢的效能。mybatis 的快取分為一級快取和二級快取。1 一級快取一級快取是 sqlsession 級別的快取,是基於 hashmap 的本地快取。不同的 sqlsession 之間的快取資料區域互不影響。當同乙個 sqlsession 執行兩次相...

Mybatis 快取機制

查詢快取主要是為了提高查詢訪問速度,即當使用者執行一次查詢後,會將該資料結果放到快取中,當下次再執行此查詢時就不會訪問資料庫了而是直接從快取中獲取該資料。如果在快取中找到了資料那叫做命中。同一sqlsession 多次查詢同一sql時會使用快取 test public void testlocalc...