IBatisNet1.5 -- 映射文件--Cache Models

        Cache也是经常讨论的一个话题之一,在我们系统开发的过程中,总会存在着这样一类数据,它们更新频率很低,然而使用的频率却非常之高。为了提高系统性能,我们通常将此类数据装入缓存。Ibatisnet 也有自己的缓存系统。
        MappedStatement的查询结果集可以根据cacheModel的值来确定它是否被装入缓存以及如何装入缓存。而Cache Model也是在配置文件中事先定义好的。具体的定义方式如下:
<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>

上面的cache model配置好之后,它会创建一个名为"employee-cache"的缓存实例,implementation表示它的实现规则是LRU,即:Leaste Recently Used。ibatisnet还有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>

posted on 2006-11-23 09:35 Daniel Pang 阅读(1509) 评论(6)  编辑 收藏 网摘 所属分类: IBatisNet

评论

#1楼 2007-07-23 14:51 RexTse

一直未使用ibatis的缓存,今天看了您的文章,发现ibatis的缓存功能似乎还是很不错的.谢谢!   回复  引用    

#2楼 2007-12-21 14:00 EricGu      

<flushOnExecute statement="insertEmployee"/>中定义的insertEmployee
是否就是
<insert id="insertEmployee" parameterClass="Groupnumber">
Insert Into Groupnumber (
id,
senddate,
sendcity,
)Values(
#Id#,
#Senddate#,
#Sendcity#,
)
</insert>
中的id="insertEmployee"
  回复  引用  查看    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 568911




相关文章:

相关链接:
<2006年11月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

导航

统计

公告

技术交流平台,真诚的希望能和园子里的朋友交流技术,共同进步!
欢迎加入Castle+IBatisNet交流群:2923364(已满),37745404
特别提示:本站文章若无特别申明,均为原创,转载请注明出自'博客园'!
Emailpwei013#163.com
MSNshypw520#gmail.com

与我联系

搜索

 

常用链接

留言簿

我参与的团队

随笔分类(98)

随笔档案(74)

相册

收藏夹(19)

MY BLOG

公司主页

情侣BLOG

友情链接

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜