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 ,如需转载请自行联系原作者
相关文章
|
28天前
|
缓存 算法 Java
Caffeine Cache~高性能 Java 本地缓存之王
Caffeine Cache~高性能 Java 本地缓存之王
45 1
|
2月前
|
SQL 缓存 关系型数据库
MySQL技能完整学习列表6、查询优化——3、查询缓存——4、SQL优化技巧
MySQL技能完整学习列表6、查询优化——3、查询缓存——4、SQL优化技巧
62 0
|
1月前
|
存储 缓存 Java
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
|
3月前
|
缓存 NoSQL Java
Spring Cache 缓存原理与 Redis 实践
Spring Cache 缓存原理与 Redis 实践
136 0
|
3月前
|
存储 缓存 NoSQL
把ruoyi-vue前后端分离项目的redis缓存改为本地缓存cache
把ruoyi-vue前后端分离项目的redis缓存改为本地缓存cache
146 0
|
4月前
|
缓存 NoSQL Java
Spring Boot 3 整合 Spring Cache 与 Redis 缓存实战
Spring Boot 3 整合 Spring Cache 与 Redis 缓存实战
|
19天前
|
存储 XML 缓存
【深入浅出Spring原理及实战】「缓存Cache开发系列」带你深入分析Spring所提供的缓存Cache功能的开发实战指南(一)
【深入浅出Spring原理及实战】「缓存Cache开发系列」带你深入分析Spring所提供的缓存Cache功能的开发实战指南
42 0
|
30天前
|
缓存 NoSQL Java
spring cache整合redis实现springboot项目中的缓存功能
spring cache整合redis实现springboot项目中的缓存功能
45 1
|
6月前
|
缓存 开发框架 .NET
ASP.NET Core 缓存
Get新知识: 缓存相关概念:缓存的类型:总结:总的来说,私有缓存会减少网络带宽的需求,同时会减少从缓存到API的请求。因为私有缓存是存储在客户端浏览器的,对于请求来说,如果缓存还在有限期内,那么请求连网络请求都不会发出会直接在客户端浏览器获取到响应,这样就减少网络请求次数,同样也会减少API请求次数。而共享缓存不会节省缓存到API的网路带宽,但是它会减少请求到API的请求。因为共享缓存是...
32 0
ASP.NET Core 缓存
|
4月前
|
缓存 NoSQL Java
SpringCache通用缓存学习
SpringCache通用缓存学习