• ASP.NET 页面缓存


    ASP.NET 实现页面缓存
    页面缓存的使用方法非常的简单,只需要在aspx页的顶部加一句声明<%@ OutputCache Duration="60" VaryByParam="none" %>
    这样整个页面的内容都会被缓存,页面中的ASP.NET代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。
    页面缓存是针对所有这个页面的访问者。这样1个访问者和1万个访问者、一次访问和100万次访问对数据库的压力是一样的。

    Duration="60" 的意思是指定缓存的时间为60秒,可根据情况自已设定,超过这个时间则缓存失效,再次生成以后会缓存60秒,如此类推。 
    VaryByParam="none" 的意思是设定无参数缓存(有参数的缓存下面会讲到)
    但是对于一些有参数的页面,比如新闻内容页来讲(比如是针对于访问每个新闻的内容页路径为http://test.com/ViewNews.aspx?id=1,服务器进行页面缓存是无法自动读取id这个参数的值),如果如上设置的话,则只会缓存?id=1的新闻页面,因为?id=2、?id=3只是页面的不同参数而已,为了能缓存各种不同的新闻页面,可以设置VaryByParam="id",表示对于不同的id参数进行单独缓存。如果有多个确定缓存参数,则将参数名用分号隔开即可,比如VaryByParam="id;number"
    如果想让任何不同的查询字符串都创建不同的缓存,则设置VaryByParam="*",一般情况下设置“*”就足够了。
    这两个参数是必须的,不能缺省。另外还有一个重要的参数DiskCacheable="true|false" 意思是要不要把缓存放到硬盘上,如果设为false则缓存数据会放到内存中。
    这里需要注意一下,如果页面数据很小的话可以把缓存数据放到内存中,如果数据较大最好放到硬盘上,否则会占用大量内存影响服务器运行,如果数据缓存到硬盘上的话,记得要把Duration的值设的大一些如Duration="3600",如果设的太小,服务器会过于频繁的在硬盘上写数据反而会降低性能,如果在内存中缓存数据Duration""则不要设的太长,当然具体时间长短要大家自己多尝试才知道。

    MVC 实现页面缓存

    如需在 ASP.NET MVC 项目中实现页面缓存,在 Web.config 配置以下节点即可:

      <system.web>
        <caching>
          <outputCacheSettings>
            <outputCacheProfiles>
              <add name="PostCache" duration="3600" sqlDependency="PostCacheDependency:Posts" varyByParam="*" location="ServerAndClient"/>
            </outputCacheProfiles>
          </outputCacheSettings>
        </caching>
      </system.web>
  • 相关阅读:
    基于visual Studio2013解决C语言竞赛题之1074八皇后
    Bit,Bytes,KB,MB,GB,TB,PB,EB,ZB,YB
    RFID系统的选择
    java中复制文本文件
    java中复制文本文件
    数据筛选和排序
    实现Windows程序的数据绑定
    实现Windows程序的数据更新
    使用ListView控件展示数据
    构建良好的windows程序
  • 原文地址:https://www.cnblogs.com/feiyuhuo/p/5397368.html
Copyright © 2020-2023  润新知