Mybatis二級快取

2022-09-03 11:48:11 字數 717 閱讀 6309

一級快取是在兩次傳送同乙個sql請求,第一次執行完,就把資料儲存在sqlsession中,第二次是從快取中取出的資料,也就是說前後就只執行了一次sql語句。

但每次sqlsession一關閉,一級快取中的資料就消失。所以用到了二級快取。

所以從這個角度講:能跨sqlsession的快取為二級快取!

1、乙個會話,查詢一條資料,這個資料就會被放在當前會話的一級快取中。

2、如果會話關閉,一級快取中的資料會被儲存到二級快取中;新的會話查詢資訊,就可以參照二級快取中。

flushinterval設定的是重新整理的時間,單位是毫秒。

readonly:是否唯讀,true/false

true:唯讀快取;mybatis認為所有從快取中獲取資料的操作都是唯讀操作,不會修改資料。

mybatis為了加快獲取速度,直接就會將資料在快取中的引用交給使用者。不安全,速度快。

false:非唯讀:mybatis覺得獲取的資料可能會被修改。

mybatis會利用序列化&反序列化的技術轉殖乙份。安全,速度慢。

type:指定自定義快取的全類名

size:快取的物件的數目,預設是1024個。

eviction:達到快取的極限,新進快取物件的替換方式。

將快取的物件實現序列化介面。

在第一次操作之後記得關閉sqlsession。只有在sqlsession關閉之後,才會把資料方法二級快取空間。

mybatis二級快取

配置檔案 不用配置也是預設開啟的 在sqlmapconfig.xml中 cacheenabled value true 如果不需要二級快取,可以在設定禁用二級快取 select 這樣每次都是從資料庫中讀取 在執行insert,update,delete後會重新整理快取 清空快取 可以設定不重新整理 ...

mybatis 二級快取

一 mybatis 二級快取 3 mybatis 預設二級快取未開啟 內建是支援二級快取的。但是由於本身是資料庫管理元件 所以快取並不好用 所以還是要用第三方的快取機制。典型的 ehcache 二 二級快取的常見演算法 lru least recently used 這種演算法是在每個物件中維護乙個...

Mybatis二級快取

原文找不到了,如果作者看到了可以留下位址,我再加上引用 sqlsession2去查詢使用者id為1的使用者資訊,去快取中找是否存在資料,如果存在直接從快取中取出資料。明白了mybatis中二級快取的原理後,接下來就是如何使用二級快取了。在使用之前,首先得開啟二級快取的開關。2.1 開啟二級快取 2....