1<
namespace
>23
<
cache
4eviction
="lru"
5flushinterval
="60000"
6size
="1024"
7readonly
="true"
8/>
9...
10>
這裡有幾個要注意的地方:
eviction是快取的淘汰演算法,可選值有"lru"、"fifo"、"soft"、"weak",預設值是lru
flashinterval指快取過期時間,單位為毫秒,60000即為60秒,預設值為空,即只要容量足夠,永不過期
size指快取多少個物件,預設值為1024
readonly是否唯讀,如果為true,則所有相同的sql語句返回的是同乙個物件(有助於提高效能,但併發操作同一條資料時,可能不安全),如果設定為false,則相同的sql,後面訪問的是cache的clone副本。
上面這個是全域性設定,在每條單獨的sql語句上,還可以有區域性設定,比如:
<select
id="getorder"
parametertype
="int"
resulttype
="torder"
usecache
="false"
>
...
select
>
usecache="false"表示該select語句不使用快取(即使xml最開頭的全域性cache啟用)
預設情況下,如果全域性開啟了快取,insert/update/delete成功後,會自動重新整理相關的快取項,但有一點要特別注意:在mybatis與hibernate混用時,由於mybatis與hibernate的快取是無關的,如果用mybatis做select查詢,用hibernate做insert/update/delete,hibernate對資料的修改,並不會重新整理mybatis的快取。
mybatis 3 x 快取介紹
mybatis快取分為一級快取和二級快取 一級快取是基於 perpetualcache mybatis自帶 的 hashmap 本地快取,作用範圍為session,所以當session commit或close後,快取就會被清空.1 單獨使用mybatis而不繼承spring,使用原生的mybati...
mybatis 3 x 快取Cache的使用
1 namespace 23 cache 4eviction lru 5flushinterval 60000 6size 1024 7readonly true 8 9.10 這裡有幾個要注意的地方 eviction是快取的淘汰演算法,可選值有 lru fifo soft weak 預設值是lru...
MyBatis3 X 系列 玩轉多級快取和懶載入
簡介 講解mybatis 級快取介紹和驗證 什麼是快取 程式經常要調 的物件存在記憶體中,便其使 時可以快速調 不必去資料庫或者其他持久化 裝置中查詢,主要就是提 效能 mybatis 級快取 簡介 級快取的作 域是sqlsession,同 個sqlsession中執 相同的sql查詢 相同的 sq...