天天看點

Mybatis添加Ehcache支援

MyBatis 包含一個非常強大的查詢緩存特性,它可以非常友善地配置和定制。

Mybatis緩存包含全局的緩存和局部的緩存,全局的緩存可以講主配置檔案的setting屬性的參數cacheEnabled設定為true(好吧,預設為true),

局部的二級緩存預設情況下是沒有開啟的,要開啟二級緩存,你需要在你的 SQL 映射檔案中添加一行:

<cache/>

eviction(回收政策) 預設的是 LRU。可選擇項有FIFO,SOFT,WEAK

flushInterval(重新整理間隔)可以被設定為任意的正整數,而且它們代表一個合理的毫秒 形式的時間段。預設情況是不設定,也就是沒有重新整理間隔,緩存僅僅調用語句時重新整理。

size(引用數目)可以被設定為任意正整數,要記住你緩存的對象數目和你運作環境的 可用記憶體資源數目。預設值是 1024。

readOnly(隻讀)屬性可以被設定為 true 或 false。隻讀的緩存會給所有調用者傳回緩 存對象的相同執行個體。是以這些對象不能被修改。這提供了很重要的性能優勢。可讀寫的緩存 會傳回緩存對象的拷貝(通過序列化) 。這會慢一些,但是安全,是以預設是 false。

Mybatis添加第三方緩存元件支援隻需要在sql映射檔案中添加一行:

<cache type="org.mybatis.caches.ehcache.EhcacheCache"/>

當然你可以選擇配置自己的屬性,你可以選擇配置<cache>的子屬性<property>來設定具體的參數,也可以過配置class路徑下ehcache.xml來完成配置;

配置的屬性跟Hibernate配置Ehcache相同,你可以檢視我的上一篇blog。

當然同樣如果你需要記錄日志的話,你可以用

 <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>

代替 <cache type="org.mybatis.caches.ehcache.EhcacheCache"/>

歡迎大家一起讨論學習!

有用的自己收!

記錄與分享,讓你我共成長!歡迎檢視我的其他部落格;我的部落格位址:

繼續閱讀