zoukankan      html  css  js  c++  java
  • ASP.NET 页面缓存 [转]

    ASP.NET 页面缓存 [转]

    在ASP.NET 中有两种WEB缓存技术,一种是输出缓存,另一种是数据缓存!
    输出缓存是指把一次请求所产生的动态输出保存于内存中。而页面缓存就属于输出缓存,就是把整个页面缓存起来,如果一个ASP.NET站点存取次数很多的话,而把一些常用到的页面放入内存会带来性能上的提高,因为只要请求页面被缓存起来之后,以后所以对页面的请求(GET和HEAD请求),就不会创建编译页面实例,而是直接从内存中获取!
    缺省情况下,输出缓存选项是被打开的,但不是任意的页面都讲被缓存,需要显示的指定哪些页面需要被缓存!
    缓存后的页面,对于GET和HEAD请求将直接从缓存入口中取出返回给用户,而对页面的回传(POST请求)通常是重新动态的生成页面,即重新加载,和GET.HEAD请求不一样,这点要注意!!
    输出缓存有页面缓存的过期/有效时间策略,即一个页面如果被指定60秒的缓存时间,那在这60秒内,页面缓存在内存中,如果超过60秒,则该页面缓存在内存中被清楚,这种方式的过期策略称之为“强制过期”。
    页面输出缓存设置方式有2种:一种是高级设置,一种是低级设置
    高级设置是通过PAGE指令,低级别设置是通过CACHE API 也就是HTTPCachePolicy类来实现,下面我把这两种方式写出来:
    Page指令<%@ outputcache duration=秒数%>
    页面中加上这种指令后,在指定的秒数内,对该页面的请求所返回结果都是一样的!
    这个设置总共有5个可用的特性,事实上,只有Duration和VaryByParam特性是必须的。
    1 控制页面缓存的位置
    Location :指能缓存资源的3个不同的地方(浏览器、代理服务器和Web服务器)。在编写页面时可以使用这个特性指定允许页面输出缓存在哪个位置。该特性有5个可能的设置
    (1)Any 默认值,即可以缓存在客户端浏览器,也可以缓存在代理服务器里,或者缓存在Web服务器本身
    (2)Client 只能缓存在客户端(即发出请求的浏览器)
    (3)Downstream 输出缓存能存储支持HTTP1.1缓存设备中(比如代理服务器)
    (4)Server 输出缓存将存储在Web服务器上
    (5)None 禁用输出缓存
    2 控制缓存中页面的生命周期
    Duration 指定缓存存在的周期,单位是秒
    3 使用参数启用页面的不同版本
    VaryByParam 指定可以缓存同一页面的不同版本,可以设置一个页面传递参数的变量名,然后页面缓存
    不同值来进行不同的版本缓存,也可以设置成“*”,可以缓存页面的每个可能的版本,但这个是极度耗内存的做法,并不是一
    个提高性能的好主意!也可以把该参数设置为“none”,意思就是不要根据参数来缓存同页面的不同版本。
    4 启用页面的不同版本的其他方法
    VaryByHeader和VaryByCustom特性与VaryByParam的相似之处在与:它们允许指定何时创建页面新的缓存版本。
    VaryByHeader :允许我们根据由分号分隔的HTTP头的列表来缓存页面的不同版本(具体还没用过,嘿嘿)
    VaryByCustom :该特性当设为“browser”,允许我们根据浏览器的名称和主版本信息缓存不同版本,也可以把它设为一个
    自定义方法的名称,从而实现我们自己的逻辑,控制缓存的版本。
    Cache API指令
    //指定页面输出缓存下一个10秒到期
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(10));
    //指定所有用户都有对缓存的访问权利
    Response.Cache.SetCacheability(HttpCacheability.Public);

    转自:http://www.blogcn.com/user52/it1/blog/29308733.html

  • 相关阅读:
    BZOJ2435 NOI2011道路修建
    BZOJ2431 HAOI2009逆序对数列(动态规划)
    BZOJ2456 mode
    BZOJ2324 ZJOI2011营救皮卡丘(floyd+上下界费用流)
    BZOJ2303 APIO2011方格染色(并查集)
    BZOJ2299 HAOI2011向量(数论)
    BZOJ2169 连边(动态规划)
    BZOJ2159 Crash的文明世界(树形dp+斯特林数)
    洛谷 P1306 斐波那契公约数 解题报告
    洛谷 P2389 电脑班的裁员 解题报告
  • 原文地址:https://www.cnblogs.com/shiningrise/p/819187.html
Copyright © 2011-2022 走看看