Asp.Net学习-Cache高速缓存

简介:
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];

  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];

 



 本文转自 王祖康 51CTO博客,原文链接:http://blog.51cto.com/wzk89/390066 ,如需转载请自行联系原作者
相关文章
|
4月前
|
存储 缓存 NoSQL
【Azure Redis 缓存】关于Azure Cache for Redis 服务在传输和存储键值对(Key/Value)的加密问题
【Azure Redis 缓存】关于Azure Cache for Redis 服务在传输和存储键值对(Key/Value)的加密问题
|
4月前
|
缓存 弹性计算 NoSQL
【Azure Redis 缓存 Azure Cache For Redis】Redis连接池
【Azure Redis 缓存 Azure Cache For Redis】Redis连接池
|
4月前
|
缓存 NoSQL Java
【Azure Redis 缓存 Azure Cache For Redis】Redis出现 java.net.SocketTimeoutException: Read timed out 异常
【Azure Redis 缓存 Azure Cache For Redis】Redis出现 java.net.SocketTimeoutException: Read timed out 异常
|
4月前
|
缓存 NoSQL 网络协议
【Azure Redis 缓存】Redisson 连接 Azure Redis出现间歇性 java.net.UnknownHostException 异常
【Azure Redis 缓存】Redisson 连接 Azure Redis出现间歇性 java.net.UnknownHostException 异常
120 1
|
4月前
|
存储 缓存 NoSQL
【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)
【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)
|
4月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Azure Cache for Redis 服务的导出RDB文件无法在自建的Redis服务中导入
【Azure Redis 缓存】Azure Cache for Redis 服务的导出RDB文件无法在自建的Redis服务中导入
|
4月前
|
缓存 开发框架 NoSQL
【Azure Redis 缓存】VM 里的 Redis 能直接迁移到 Azure Cache for Redis ? 需要改动代码吗?
【Azure Redis 缓存】VM 里的 Redis 能直接迁移到 Azure Cache for Redis ? 需要改动代码吗?
|
4月前
|
缓存 NoSQL Unix
【Azure Redis 缓存】Azure Cache for Redis 中如何快速查看慢指令情况(Slowlogs)
【Azure Redis 缓存】Azure Cache for Redis 中如何快速查看慢指令情况(Slowlogs)
|
4月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Azure Cache for Redis 是否记录具体读/写(Get/Set)或删除(Del)了哪些key呢?
【Azure Redis 缓存】Azure Cache for Redis 是否记录具体读/写(Get/Set)或删除(Del)了哪些key呢?
|
4月前
|
存储 缓存 NoSQL
【Azure Redis 缓存】Azure Cache for Redis 专用终结点, 虚拟网络, 公网访问链路
【Azure Redis 缓存】Azure Cache for Redis 专用终结点, 虚拟网络, 公网访问链路