现在的位置: 首页 > 综合 > 正文

Snake.Net 框架中的ORM(五) (Version 0.2 Beta)

2012年12月15日 ⁄ 综合 ⁄ 共 836字 ⁄ 字号 评论关闭

 

7.缓存与对象池

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

       1)缓存

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

下面请看在配置文件中如何设置缓存的

<object name="eastasp.samples.order">
<provider type="cache" slidingExpirationSeconds="30"/>
</object>

 

2)对象池

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

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

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

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

抱歉!评论已关闭.