ASP.NET缓存OutputCache之C#后台设置

一、ASPX页面缓存页面缓存的使用方法非常的简单,只需要在aspx页的顶部加一句声明<%@ OutputCache Duration="60" VaryByParam="none" %> 这样整个页面的内容都会被缓存,页面中的ASP.NET代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。 页面缓存是针对所有这个页面的访问者。这样1个访问者和1万个访问者、一次访问和100万次访问对数据库的压力是一样的。二、outpuCache参数Duration:缓存时间,单位秒VaryByParam:缓存参数,  VaryByParam=none   无参数缓存,可用于首页;  VaryByParam="*"    如果想让任何不同的查询字符串都创建不同的缓存,则设置VaryByParam="*",一般情况下设置“*”就足够了。  VaryByParam="id"   因为?id=2、?id=3只是页面的不同参数而已,为了能让不同的新闻各种缓存,因此可以设置VaryByParam="id"  DiskCacheable="true|false"   意思是要不要把缓存放到硬盘上

注意:Buffer = true;以下设置才会生效,页面默认就等于true

   三、以下是代码示例的@ OutputCache指令和等效的编程代码。

  • 若要将输出缓存存储指定的持续时间

    声明性方法:

    <%@ OutputCache Duration="60" VaryByParam="None" %>

    编程的方法:

    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
    Response.Cache.SetCacheability(HttpCacheability.Public);
  • 在其中发出请求的浏览器客户端上存储输出缓存

    声明性方法:

    <%@ OutputCache Duration="60" Location="Client" VaryByParam="None" %>

    编程的方法:

    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
    Response.Cache.SetCacheability(HttpCacheability.Private);
  • 在任何 HTTP 1.1 支持缓存的设备,包括代理服务器和发出请求的客户端上存储输出缓存

    声明性方法:

    <%@ OutputCache Duration="60" Location="Downstream" VaryByParam="None" %>

    编程的方法:

    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
    Response.Cache.SetCacheability(HttpCacheability.Public);
    Response.Cache.SetNoServerCaching();
  • 若要将输出缓存存储在 Web 服务器上

    声明性方法:

    <%@ OutputCache Duration="60" Location="Server" VaryByParam="None" %>

    编程的方法:

    TimeSpan freshness = new TimeSpan(0,0,0,60);
    DateTime now = DateTime.Now;
    Response.Cache.SetExpires(now.Add(freshness));
    Response.Cache.SetMaxAge(freshness);
    Response.Cache.SetCacheability(HttpCacheability.Server);
    Response.Cache.SetValidUntilExpires(true);
  • 缓存到达时,使用一个不同的城市每个 HTTP 请求的输出:

    声明性方法:

    <%@ OutputCache duration="60" varybyparam="City" %>

    编程的方法:

    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
    Response.Cache.SetCacheability(HttpCacheability.Public);
    Response.Cache.VaryByParams["City"] = true;
    
    更新缓存:Response.Cache.SetNoServerCaching();
时间: 2024-08-08 15:32:19

ASP.NET缓存OutputCache之C#后台设置的相关文章

ASP.NET MVC 阻止当前请求的视图页面缓存OutputCache

设置缓存 [OutputCache(Duration =333,VaryByCustom ="Index")] 缓存: //在action中,临时阻止该次请求的视图页面缓存 Response.Cache.SetNoServerCaching(); //可以使得默认的缓存,在规定过期时间内,除第一次访问外,都是304. Response.Cache.SetOmitVaryStar(true); 主要防范,循环参数来发起请求时,造成的大量无意义的参数生成的垃圾缓存过多,大量占用内存的情况.

ASP.NET缓存 Cache

缓存介绍 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差,而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论多少人访问都只访问一次数据库,数据库压力不变缓存是一种用空间换取时间的技术,存在于计算机中很多地方,用来将一些慢速设备中的常用数据保存在快速设备中,取数据的时候直接从快速设备中取,比如CPU二级缓存,WINDOWS文件读取缓存缓存存在失效的问题:为了保证从缓存中读取数据和慢速数据中数据一致,则需要在慢

[转]C#基础回顾:Asp.net 缓存

本文转自http://www.cnblogs.com/stg609/archive/2009/03/22/1418992.html 缓存的作用      你买电脑的时候,是否会在意CPU的二级缓存?是不是希望二级缓存能够大点?那你有没有想过你为什么会有这种想法?说到底,就是为了性能问题,如果缓存大点,那就意味着我们处理数据的响应速度会更快.这就好比我们查字典,如果有一个单词,你需要知道它的意思,你是不是需要翻开字典,查找目录,翻到指定的页,找到你要的单词,这才能得到该词的解释?可是不幸的是,你并

ASP.net 中 OutputCache 指令各个参数的作用。

使用@ OutputCache指令 使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要.@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明.这种方式非常方便,只需几个简单的属性设置,就能够实现页面的输出缓存 策略.@ OutputCache指令声明代码如下. @ OutputCache指令代码 <%@ OutputCache CacheProfile =" " NoStore= "True | False" D

ASP.NET - 缓存(Cache)

页面缓存: 给页面添加<%@ OutPutCache Duration = “15” VaryByParam = “none” %> 这样就可以启用页面缓存了,那么在规定的时间内,页面之访问数据库一次. Duration设置的是缓存的时间,以秒为单位,超过这个时间将缓存失效,则再次连接数据库进行数据查询. 对于新闻页面来说的话,如果设置缓存的话,则会缓存在第一个看到的新闻,因为?id=2.?id=3只是页面的不同参数而已,为了能让不同的新闻各次缓存,一次可以设置VaryByParam = “i

asp.net,缓存Cache

缓存Cache: 1>直接使用Cache["content"],缓存与Session不同,所有用户都可以共享.永不过期,由服务器自己维护,当内存不够时,会将老的缓存释放掉. 2>设置绝对过期日期.Cache.Insert("nowTime", DateTime.Now, null, DateTime.Now.AddSeconds(7), TimeSpan.Zero); 3>设置滑动过期日期: Cache.Insert("nowTime&q

充分利用ASP.NET缓存提高站点性能

[简介] ASP.NET提供三种主要形式的缓存:页面级输出缓存.用户控件级输出缓存(或称为片段缓存)和缓存API.输出缓存和片段缓存的优点是非常易于实现,在大多数情况下,使用这两种缓存就足够了.而缓存API则提供了额外的灵活性(实际上是相当大的灵活性),可用于在应用程序的每一层利用缓存.本文全面介绍了这三种缓存技术在系统各层中的应用. 在ASP.NET提供的许多特性中,缓存支持无疑是我最欣赏的特性,我这样说当然是有充分理由的.相比ASP.NET的所有其他特性,缓存对应用程序的性能具有最大的潜在影

ASP.NET 缓存

原文 缓存 概念 缓存是一种用空间换取时间的技术,通俗点也就是说把你得到的数据存放在内存中一段时间,在这短时间内服务器不去读取数据库.或是真实的数据源,而是读取你存放在内存中的数据,这里你会疑惑怎么设置存放数据,能存放什么样子的数据,存放时间的设置,真实数据源数据改变服务器不就读取存在偏差?别急,下面慢慢会说到的.. 好处 缓存是网站性能优化不可缺少的一种数据处理机制,他能有效的缓解数据库压力,例如,网站每分钟的点击率为100万,如果不使用缓存的静态页面,这里也没有viewstate的情况下(v

ASP.net 中 OutputCache 指令各个参数的作用

使用@ OutputCache指令 使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要.@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明.这种方式非常方便,只需几个简单的属性设置,就能够实现页面的输出缓存 策略.@ OutputCache指令声明代码如下. @ OutputCache指令代码 <%@ OutputCache CacheProfile =" " NoStore= "True | False" D