日期:2014-05-16  浏览次数:20383 次

ibatis memory的缓存设置

?

 <cacheModel id="Cache-LOGIC-COLUMNS" type="MEMORY" readOnly="true"
		serialize="false">
		<flushInterval hours="24" />
		<property name="reference-type" value="STRONG"/>
</cacheModel>

??? reference-type的取值主要有以下几种类型

?

?? WEAK:大多数情况下,WEAK类型是最佳选择。如果不指定类型,缺省类型就是WEAK。它能大大提高常用?? 查询的性能。但是对于当前不被使用的查询结果数据,将被清除以释放内存用来分配其他对象。SOFT:在查询结果对象数据不被使用,同时需要内存分配其他对象的情况下,

?? SOFT类型将减少内存不足的可能性。然而,这不是最具侵入性的reference类型,结果数据依然可能被清除。??

?? STRONG:此类型可以确保查询结果数据一直保留在内存中,除非Cache被刷新(例如,到了刷新的时间或执行了更新数据的操作)。对于下面的情况,这是理想的选择:1)结果内容数据很少,2)完全静态的数据,和3)频繁使用的数据。优点是对于这类查询性能非常好。缺点是,如果需要分配其他对象,内存无法释放(可能是更重要的数据对象)