1.Mybatis默认的缓存配置
MyBatis 包括一个很强大的查询缓存特性,它能够很方便地配置和定制。
Mybatis缓存包括全局的缓存和局部的缓存。全局的缓存能够讲主配置文件的setting属性的參数cacheEnabled设置为true(好吧,默觉得true),
局部的二级缓存默认情况下是没有开启的。要开启二级缓存,你须要在你的 SQL 映射文件里加入一行:
<cache/>
eviction(回收策略) 默认的是 LRU。可选择项有FIFO,SOFT,WEAK
flushInterval(刷新间隔)能够被设置为随意的正整数,并且它们代表一个合理的毫秒 形式的时间段。默认情况是不设置,也就是没有刷新间隔,缓存只调用语句时刷新。
size(引用数目)能够被设置为随意正整数,要记住你缓存的对象数目和你执行环境的 可用内存资源数目。默认值是 1024。
readOnly(仅仅读)属性能够被设置为 true 或 false。
仅仅读的缓存会给全部调用者返回缓 存对象的同样实例。因此这些对象不能被改动。
这提供了非常重要的性能优势。可读写的缓存 会返回缓存对象的拷贝(通过序列化) 。这会慢一些,可是安全,因此默认是 false。
2.Mybatis加入Ehcache
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"/>
欢迎大家一起讨论学习!
实用的自己收!
记录与分享,让你我共成长!欢迎查看我的其它博客。我的博客地址:http://blog.csdn.net/caicongyang