快速业务通道

iBATIS CacheModel使用浅析 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

iBATIS CacheModel使用浅析

时间:2012-01-03

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缓存系统有所帮助。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号