asp.net cache高速缓存的用法

发布时间:2020-02-23编辑:脚本学堂
asp.net cache高速缓存的用法

Cachev即高速缓存,能够提高系统的性能和运行速度。

Cache是分配在服务器上的一个公共的内存片。Cache只要一创建是任何一个浏览器都可以通过后台代码访问到的。它是面向的是所有用户。每个Cache一经创建就占有了服务器资源,所以并不是cache越多越好。

cache是有时间限制的,超过了服务器设定的时间,就会被服务器收回。

Cache的创建:
通过Cache.Insert(string key,object o)方法创建。key代表cache的ID,o代表存到cache里的对象。

Cache的销毁:
通过Cache.Remove(string key)其中key代表cache的ID。

Cache的调用:
Cache支持装箱/拆箱操作。我们可以把一个DataSet对象ds通过Cache.Insert("dsCache",ds)的方式存到Cache中,可以通过拆箱操作DateSet ds=(DataSet)Cache["dsCache"]来访问它。

什么时候用Cache?
cache一般用于数据较固定,用的较频繁的地方。cache不适合用在数据变动快,使用范围很窄的地方。

Cache调用注意事项
Cache是有时间限制的。超过了服务器设置的事件,就会被服务器收回。收回后相对应的内存块就会被清空,再次通过cache[“cachekey”]访问对象时返回就是null值。所以调用就会出错。

举例:
DataSet ds = (DataSet)Cache[“cacheds”];
DataRow dr = ds.Table[0].Row[0]; //出错,ds为null值,不存在表0。

正确写法:
DataSet ds
If(Cache[“cacheds”] != null)
{
ds = (DataSet)Cache[“cacheds”];
}
Else
{
ds= GetDsFromDataBase();
}
DataRow dr = ds.Table[0].Row[0];