程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> iBATIS CacheModel使用淺析

iBATIS CacheModel使用淺析

編輯:關於JAVA

iBATIS CacheModel的使用是什麼情況呢?讓我們首先從現狀入手,Cache也是經常討論的一個話題之一,在我們系統開發的過程中,總會存在著這樣一類數據,它們更新頻率很低,然而使用的頻率卻非常之高。為了提高系統性能,我們通常將此類數據裝入緩存。iBATIS.NET也有自己的緩存系統。

MappedStatement的查詢結果集可以根據CacheModel的值來確定它是否被裝入緩存以及如何裝入緩存。而iBATIS CacheModel也是在配置文件中事先定義好的。具體的定義方式如下:

﹤cacheModel id="employee-cache" implementation="LRU" readOnly="true" serialize="false"﹥  
  ﹤flushInterval hours="24"/﹥  
  ﹤flushOnExecute  statement="insertEmployee"/﹥  
  ﹤flushOnExecute  statement="updateEmployee"/﹥  
  ﹤flushOnExecute  statement="deleteEmployee"/﹥  
  ﹤property name="CacheSize" value="100"/﹥  
﹤/cacheModel﹥

iBATIS CacheModel使用淺析配置好之後,它會創建一個名為"employee-cache"的緩存實例,implementation表示它的實現規則是LRU,即:Leaste Recently Used。iBATIS.NET還有MEMORY,FIFO幾種緩存的模式。

readOnly的值說明緩存是只讀的還是可讀寫的,如果readOnly為true,緩存就是只讀,false為可讀寫。

serialize指示緩存是在整個Application中有效還是僅作用於當前的Session。flushInterval的值表示緩存的有效期,上面的配置中則表示改緩存每24小時清空一次,當然有效期還可以用minutes, seconds or milliseconds來表示。

flushOnExecute表示緩存將在執行了什麼操作時被清空,上面的配置中表示該緩存在執行insertEmployee or updateEmployee or deleteEmployee時被清空。

CacheSize表示緩存的最大條目,當超過這個值的時候就會按照implementation中定義的規則來清除相應的條目,上面配置中則表示當緩存的條目超過100時,則移出最近最少使用的條目。當我們配置好cacheModel之後就可以在statement中使用了,如下:

﹤statement id="EmployeeList" cacheModel="employee-cache"﹥  
  select * from Employee  
﹤/statement﹥

iBATIS CacheModel的相關情況就介紹到這裡,希望對你了解iBATIS CacheModel緩存系統有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved