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

 

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 >

你可能感兴趣的:(version)