[转载]Snake.Net 框架中的ORM(五) (Version 0.2 Beta)

7.缓存与对象池

ORM系统的另一大特色是使用各种途径提升应用系统的性能。Snake.Net提供了缓存和对象池两种技术优化数据访问的性能。

       1)缓存<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

       缓存可以有效地提高应用程序的性能,这样可以避免重复进行数据创建、处理和传输。Snake.Net中通过配置文件可将对象的数据访问模式设置为缓存模式,并可以设置缓存有效时效。当用户调用ObjectMangerRetrieveListQuery方法时,系统将首先查看对象是否存在于缓存之中,如果存在将直接从缓存中读取对象,如果不存在,再通过数据访问层从数据库中读取。


下面请看在配置文件中如何设置缓存的
None.gif < object  name ="eastasp.samples.order" >
None.gif
< provider  type ="cache"  slidingExpirationSeconds ="30" />
None.gif
</ object >
None.gif

 

2)对象池

       对象池同缓存的功能相同也是用于提升数据访问的性能,但与缓存的不同是,缓存通过设置一个有效时间,当对象在缓存内的生命期超过了缓存的有效时间后,将被自动释放;对象池则通过设置池的大小控制对象的生命期限。

       Snake.Net中的对象池可以通过配置文件设置一个初始值(MinPoolSize)和一个最大值(MaxPoolSize),当对象池中的对象数超过了最大值时将自动释放对象。释放对象的顺序有三种:先进先出(FIFO)、后进先出(LIFO)和智能(Smart)三种,采用智能模式时,Snake.Net将更根据对象的访问情况进行释放对象。


            同缓存一样对象池也是通过配置文件进行配置的:

None.gif < object  name ="eastasp.samples.order" >
None.gif
< provider  type ="pool"  freeSize ="64"  minPoolSize ="16"  maxPoolSize ="2048"  mode ="smart" />
None.gif
</ object >

转载于:https://www.cnblogs.com/afengflmx/archive/2006/10/11/526014.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值