Ibatis快取設定

2021-06-21 23:07:42 字數 852 閱讀 5188

<

cachemodel

id="cache-logic-columns"

type="memory"

readonly="true"

serialize="false"

>

<

flushinterval

hours="24"

/>

<

property

name="reference-type"

value="strong"

/>

cachemodel

>

reference-type

有以下幾種取值

1. weak:

大多數情況下,

weak

型別是最佳選擇。如果不指定型別,預設型別就是

weak

。它能大大提高常用查詢的效能。但是對於當前不被使用的查詢結果資料,將被清除以釋放記憶體用來分配其他物件。

2. soft:

在查詢結果物件資料不被使用,同時需要記憶體分配其他物件的情況下

, soft

型別將減少記憶體不足的可能性。然而,這不是最具侵入性的

reference

型別,結果資料依然可能被清除。

3. strong:

此型別可以確保查詢結果資料一直保留在記憶體中,除非

cache

被重新整理(例如,到了重新整理的時間或執行了更新資料的操作)。對於下面的情況,這是理想的選擇:

1)結果內容資料很少,

2)完全靜態的資料,和

3)頻繁使用的資料。優點是對於這類查詢效能非常好。缺點是,如果需要分配其他物件,記憶體無法釋放(可能是更重要的資料物件)

IBatis 的快取機制

快取機制,也是基於 key value 的方式,確定了 key 的來龍去脈能很好的認識快取的生存週期。從配置檔案解析說起 0 1 private errorcontext errorcontext 0 2 private cachemodel cachemodel 0 3 0 4 cachemode...

Ibatis輸出結果快取元素

摘自 先看乙個例項 3個屬性 1 type指定使用 近期最少使用 lru 實現。2 屬性readonly如果不寫,預設是true,這時的快取效果無疑最好,因為系統不需要考慮更新操作引起快取與實際資料不一致的問題,唯讀快取的例子是固化到資料庫中的一些配置參數列。但是,通常我們想快取的資料是需要增刪改的...

ibatis的快取中計算cachekey的過程

cachingstatement在執行查詢的時候,會先從cachemodel中獲取結果。如果結果為空,則執行查詢並將結果儲存在cachemodel中。在讀寫cachemodel的過程中,都需要獲得cachekey物件,以cachekey作為快取的key。下面是獲得cachekey的過程 cachin...