快速业务通道

ASP.NET 2.0缓存技术探讨

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

l 接受参数示例解说

关键语句<%@ Output Cache Duration = “60” VaryByParam = “Name”%>

上面显示一个数据库查询示例,并在页面下端放置一个访问的当前时间显示,可以清楚的看到,对于每个不同的参数,一分钟之内的访问会得到同一个时间戳,这表明用户在这个时间内访问的视同一个cache。

注意:不足是在60秒以内数据库做出改变,不能显示更新的显示,需要处理这个问题还需要其他的设置。

l 硬盘Output Cache

默认情况下,Output Cache会被缓存到硬盘上。我们可以通过修改diskcacheenable的属性来设置其是否缓存,还可以通过在web config里配置缓存文件的大小。

在使用程序的时候,我们常用内存缓存和交换区缓存,硬盘缓存技术我们可能用的不是很多,因为觉得硬盘速度慢,或者交互起来有问题。实际上,由于服务器现在占用内存都比较多,尤其是大型的应用。所以在IIS服务默认是把硬盘服务是打开的。

l 使用DiskOutput Cache示例:

<%@ OutputCache Duration="3600" VaryByParam="name" DiskCacheable="true" %>
Web.Config文件中,
<configuration>
     <appSettings/>
     <system.web>
    <caching>
      <outputCache>
        <diskCache enabled="true" maxSizePerApp="2"(2M) />
      </outputCache>
      <outputCacheSettings>
        <outputCacheProfiles>
          <add name="CacheFor60Seconds" duration="60" />
        </outputCacheProfiles>
      </outputCacheSettings>
      <!--
              <sqlCacheDependency enabled="true" pollTime="1000" >
                   <databases>
                       <add name="PubsDB" connectionStringName="pubsConnectionString" />
                   </databases>
              </sqlCacheDependency>
              -->
    </caching>
     </system.web>
</configuration>

设置DiskOutput属性。

指定硬盘缓存时,指定时间要相应的大一些。硬盘访问速度相对慢一点。(VS 2005正式版已经删除了这一个功能,汗!)

l 回调缓存

通过设置回调缓存机制,可以针对每个请求在页面中插入动态的部分,以弥补单独使用静态缓存的不足。

代码示例:

回调缓存示例

<%@ Page Language="VB" %>
<%@ OutputCache Duration="60" VaryByParam="none" %>

<script runat="server">
    Shared Function GetCurrentDate(ByVal context As HttpContext) As String
        Return Now.ToString()
    End Function
</script>

<html >
<head id="Head1" runat="server">
    <title>Post Cache Substitution</title>
</head>
<body>
    <form id="form1" runat="server">
        <h4>
            This page uses post cache substitution to insert a dynamic value into a cached page.</h4>
        <p>
            Time:
        

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号