Cache就是高速缓存,能够提高系统的性能和运行速度。
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];<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

  DataRow dr = ds.Table[0].Row[0]; //出错,dsnull值,不存在表0

  正确的写法应该是:

  DataSet ds

  If(Cache[cacheds] != null)

  {

  ds = (DataSet)Cache[cacheds];

  }

  Else

  {

  ds= GetDsFromDataBase();

  }

  DataRow dr = ds.Table[0].Row[0];