Mybatis 的一級 二級快取?

2022-07-09 17:54:12 字數 405 閱讀 8987

1)一級快取: 基於perpetualcache 的hashmap 本地快取,其儲存作用域為

session,當session flush 或close 之後,該session 中的所有cache 就

將清空,預設開啟一級快取。

2)二級快取與一級快取其機制相同,預設也是採用perpetualcache,hashmap

如ehcache。預設不開啟二級快取,要開啟二級快取,使用二級快取屬性類需要

實現serializable 序列化介面(可用來儲存物件的狀態),可在它的對映檔案中配置

; 3)對於快取資料更新機制,當某乙個作用域(一級快取session/二級快取

namespaces)的進行了c/u/d 操作後,預設該作用域下所有select 中的快取將

被clear。

mybatis一級快取 二級快取

一級快取基於sqlsession,是預設開啟的,在運算元據庫時需要構造sqlsession物件,在物件中有乙個hashmap用於儲存快取資料。不同的sqlsession之間快取資料區域是互相不影響的。一級快取的作用域是sqlsession範圍的,當在同乙個sqlsession中執行兩次相同的sql語...

Mybatis 一級快取 二級快取

快取分類 一級快取 事務範圍 快取只能被當前事務訪問。快取的生命週期 依賴於事務的生命週期當事務結束時,快取也就結束生命週期。在此範圍下,快取的介質是記憶體。二級快取 程序範圍 快取被程序內的所有事務共享。這些事務有 可能是併發訪問快取,因此必須對快取採取必要的事務隔離機制。快取的生命週期依賴於程序...

mybatis一級快取二級快取

前面我們說到,spring和mybatis整合時,每次查詢之後都要進行關閉sqlsession,關閉之後資料被清空。所以spring整合之後,如果沒有事務,一級快取是沒有意義的。那麼如果開啟二級快取,關閉sqlsession後,會把該sqlsession一級快取中的資料新增到namespace的二級...