使用高速缓存

高速缓存是服务器端状态,它类似于应用程序状态,因为它在所有的客户端上共享。高速缓存与应用程序状态的区别是,

告诉缓存要灵活的多:定义状态何时失效有许多方式。我们不是给每个请求读取文件或数据库,而是把数据存储在高速缓存

中。

对于高速缓存,需要使用System.Web.Caching名称空间中的Cache类。给高速缓存添加对象的过程如下:

Cache.Add("mycache", obj, null, DateTime.MaxValue, TimeSpan,FromMinutes(10), CacheItemPriority.Normal, null)

Page类的Cache属性返回一个Cache对象,使用Cache类的Add()方法,可以把任意对象赋予高速缓存。Add()方法的

第一个参数定义了高速缓存项的名称。第二个参数是应被高速缓存的对象。第三个参数定义了依赖关系,例如,高速缓存

可以依赖于一个文件:当文件改动时,高速缓存对象就会失效。上面的例子中没有定义依赖关系,因为这个参数为null。

第4和第5个参数用于设置高速缓存项的有效时间。第四个参数定义了高速缓存项失效的绝对时间。第五个参数定义了使

高速缓存项失效的相对时间。在这个时间过后,就不能再访问高速缓存了。上面的示例使高速缓存10分钟后失效。

第六个参数定义了高速缓存的优先级。CacheItemPriority是一个设置高速缓存优先级的枚举。如果ASP.NET工作进程

有很高的内存利用率,ASP.NET运行库就根据优先级删除高速缓存项。优先级较低的项先删除。最后一个参数用于定义一个

方法,在删除高速缓存项时调用该方法。当高速缓存依赖于一个文件,就可以使用最后一个参数:当文件改变时,就删除高速

缓存项,调用事件处理程序。通过这个事件处理程序,可以再次读取文件,重新加载高速缓存。

可以通过索引符读取高速缓存项,在使用从Cache属性返回的对象之前,必须检查结果是否为null,当高速缓存失效时,

结果就是null。如果从Cache索引符返回的不是null,就可以对返回的对象进行类型转换,用于存储高速缓存项。

object o = Cache["mycache"];
if(o == null)
{

// Reload the cache.

}

else

{

// Use the cache
MyClass myObj=(MyClass)o;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值