`
tiandirensoon
  • 浏览: 596872 次
文章分类
社区版块
存档分类
最新评论

Cache总义Cache用法之页面声明

 
阅读更多

Cache总义Cache用法之页面声明

<%@ outputCache
Duration="#ofseconds"
Location="Any|Client|Downstream|Server|None"
VaryByControl="ControlName"
VaryByCustom="browser|customstring"
VaryByHeader="headers"
VaryByParam="Parametername" %>

Cache用法之代码控制
HttpCachePolicy类是专门用来控件Cache的,可以用Response.Cahce来访问这个类的实例

Response.Cache.SetExpires(DateTime.Now.AddSeceonds(10));
Response.Cache.SetCacheability(HttpCacheablility.Public);
Response.Cache.SetValidUnitlExpires(true);
-----------------------以上都是缓存页面的,下面是缓存数据的----------------------------
Cache类的生存周期等于应用程序的生命周期
三种用法
1:存:Cache["key"] = MyData;取:
MyData = Cache["key"];
if(MyData != null)
use(MyData);
此法存入Cache的数据生命周期等于应用程序生命周期,不支持清除、过期、依赖性等功能。


2:存:
Cache.Insert(
string key,
object value,
CacheDependency dependencies,//依赖,设置缓存有效的依赖性,比如设置和一个文件相关,文件一变,就失效
DateTime absoluteExpireation, //设置固定的过期时间
TimeSpan slidingExpiration, //设置最后一次访问后多长时间过期
CachePriority priority, //设置内存不足,缓存自动清除时,缓存的重要性,可不可以清除
CacheItemRemovedCallback onRemoveCallback // 设置在清除时引发的事件
)
Example:


Cache.Insert("Mydata",MyData,new Caching.CacheDependency(Server.MapPah("Mydata.XML")));//设置有效性和一个文件有关
Cache.Insert("Mydata",myData,null,DateTime.Now.AddDays(1),Cache.NoSlidingExpiratin);//两种过期时间设了其中一种,另一种要设为0,用NoAbsolute(Sliding)Expiration枚举
Cache.Insert("MyData",myData,null,Cache.NoAbsoluteExpiration,TimeSpan.FromMinutes(10));//不能过一年不能小于0
Cache.Insert("MyData",myData,null,Cache.NoAbsoluteExpiration,TimeSpan.FromMinutes(10),Caching.CacheItemPriority.NotRemovable,null);// AboveNormal|BelowNormal|Default|High|Low|Normal|NotRemovable

public void RemovedCallback(string key,object value,CacheItemRemovedReason reason)
{
if(reason == CacheItemRemovedReason.DependencyChanged)
Response.Write("文件变了,快去看看");
}
Cache.Insert("Mydata",MyData,new Caching.CacheDependency(Server.MapPah("Mydata.XML"),DateTime.Now.AddDays(1),Cache.NoSlidingExpiration,CacheItemPriority.High,new CacheItemRemovedCallback(this.RemovedCallback));
清除就可以用Cache.Remove("key");方法


3:
Cache.Add方法,用法和Insert差不多,区别在于Add碰到该key原来有赋过值会失败,Insert则不会,而会替换原有值;Add会返回被缓存数据项,Insert不会

分享到:
评论

相关推荐

    C#中缓存的基本使用方法

    前言 缓存主要是为了提高数据的读取速度。...1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  &lt;&#37;@ OutputCache Duration=100 VaryByParam=none %&gt;  Duration:

    ASP.NET的网页代码模型及生命周期

    在页面控件中,如果有多个自定义控件使用多个不同的控件来显示不同的数据结构,为了让这些页面控件能够在在页面上协调的工作,则需要使用控件状态来保护控件,同时,控件状态是不能被关闭的。同样,控件状态也有它的...

    asp.net知识库

    使用SQL Cache Dependency 代替 Ibatisnet 提供的CacheModel ASP.NET 2.0中小心Profile命名冲突 使用ASP.NET 2.0 Profile存储用户信息[翻译] Level 200 [ASP.NET 2.0]PageParser.GetCompiledPageInstance中存在一个...

    TGroupon团购系统 v3.6.rar

    以上声明具有法律效应,如使用者违规使用,本公司将追究其法律责任。 TGroupon团购系统前台页面 TGroupon团购系统后台管理 后台路径:域名/admin.php 用户名与密码:安装时可设置 后台页面 相关阅读 同类...

    ZendFramework中文文档

    2.3.2. 使用声明(Assert)来编写条件性的 ACL 规则 3. Zend_Auth 3.1. 简介 3.1.1. 适配器 3.1.2. 结果 3.1.3. 身份的持久(Persistence) 3.1.3.1. 在PHP Session 中的缺省持久(Persistence) 3.1.3.2. 实现...

    LvBBS.Net 论坛 v1.0

    免费声明: LvBBS.Net(Access版)为免费版本,非经 LvBBS.Net 书面授权许可,不得将之用于盈利或非盈利性的商业用途,不得将修改后版本进行任何的商业行为。本论坛适用于个人和中小型站点的数据量...

    wx-kit:微信小程序脚手架

    用于装饰店的fetchData方法,侦听请求是否完成,并添加tryFetchData方法(商店需要提前声明数据) store / hepler / Cache.js 将需要缓存的store缓存到内存中 store / helper / List.js 列表商店可继承使用 命名规范...

    ASP.NET 3.5 开发大全11-15

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    ASP.NET 3.5 开发大全

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    ASP.NET 3.5 开发大全1-5

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    ASP.NET 3.5 开发大全word课件

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    ASPNET35开发大全第一章

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    java 面试题 总结

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  ...

    ASP.NET3.5从入门到精通

    2.5.1 if 语句的使用方法 2.5.2 switch 选择语句的使用 2.6 使用循环语句 2.6.1 for 循环语句 2.6.2 while 循环语句 2.6.3 do while 循环语句 2.6.4 foreach 循环语句 2.7 异常处理语句 2.7.1 throw 异常语句 2.7.2 ...

    从入门到精通HTML5——PDF——网盘链接

     1.4.3 使用可视化软件制作页面 10  1.4.4 使用浏览器浏览HTML文件 14  1.4.5 使用HTML开发的明日图书网 14  1.5 小结 15  1.6 习题 16  第2章 HTML文件基本标记 17  教学录像:44分钟  2.1 HTML头部标记 18...

    ASP.NET4高级程序设计(第4版) 3/3

    此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。  ...

    springboot学习思维笔记.xmind

    @Bean注解在方法上,声明当前方法的返回值为一个Bean AOP @Aspect 声明是一个切面 拦截规则@After @Before @Around PointCut JoinPoint Spring常用配置 Bean的Scope Singleton ...

    低清版 大型门户网站是这样炼成的.pdf

    5.1.10 使用hibernate的isinitialized()与initialize()方法 277 5.1.11 持久化对象间的级联操作 277 5.2 hibernate的检索策略 291 5.2.1 立即检索 291 5.2.2 延迟检索 296 5.2.3 迫切左外连接检索 300 5.3 hql...

Global site tag (gtag.js) - Google Analytics