• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    asp提高首页性能的一个技巧
    简单介绍:一般一个网站的首页访问量是最大的,如果您的网站的首页打开的非常缓慢,您的客户将会陆续离开你的网站.通常我们把需要经过复杂运算或者查询数据库得出的数据缓存起来或者生成静态网页来提高web应用的性能,这次我们直接把首页的输出缓存成一个字符串,然后定时更新,即照顾了性能,又不影响首页的时效性.这里用到了一些VBS自定义类,Application对象,XmlHttp对象,adodb.stream对象的一些东西,相关知识大家可以查资料了解.
    最好让这个页和你要缓存的页在一个目录下,要不有些相对路径的图片就无法显示了,另外缓存有的页面会出现乱码,我还不知道怎么解决这个问题呢,可能在Response的时候需要设置一下编码类型,大家可以试试

    复制代码 代码如下:


    Dim wawa,StarTime,EndTime 
    StarTime=Timer() 
    Set wawa=new Cls_Cache 
    wawa.Reloadtime=0.5 
    wawa.CacheName="wawa" 
    wawa.Name="XmlInfoIndex" 
    If wawa.ObjIsEmpty() Then CacheXmlInfoIndex() 
    Response.Write wawa.value 
    EndTime=Timer() 
    Response.Write "br>执行时间:"  FormatNumber((Endtime-StarTime)*1000,5)  "毫秒。" 

    Sub CacheXmlInfoIndex() 
     Dim BodyText, xml 
     Set xml = Server.CreateObject("Microsoft.XMLHTTP") 
     '把下面的地址替换成你的首页的文件地址,一定要用http://开头的绝对路径,不能写相对路径 
     xml.Open "GET", "http://onlytiancai/bak/vote/InfoIndex.asp", False 
     xml.Send   
     BodyText=xml.ResponseBody 
     BodyText=BytesToBstr(BodyText,"gb2312") 
     wawa.Value=BodyText 
    Set xml = Nothing 
    End Sub 
    Function BytesToBstr(body,Cset) 
            dim objstream 
            set objstream = Server.CreateObject("adodb.stream") 
            objstream.Type = 1 
            objstream.Mode =3 
            objstream.Open 
            objstream.Write body 
            objstream.Position = 0 
            objstream.Type = 2 
            objstream.Charset = Cset 
            BytesToBstr = objstream.ReadText  
            objstream.Close 
            set objstream = nothing 
    End Function 
    %> 

    '下面这个类可以保存在单独的文件里,然后包含到此页 
    Class Cls_Cache 
     Rem ==================使用说明============================================== 
     Rem = 本类模块是动网先锋原创,作者:迷城浪子。如采用本类模块,请不要去掉这个说明。这段注释不会影响执行的速度。= 
     Rem = 作用:缓存和缓存管理类                                                                                  = 
     Rem = 公有变量:Reloadtime 过期时间(单位为分钟)缺省值为14400,                                               = 
     Rem = MaxCount 缓存对象的最大值,超过则自动删除使用次数少的对象。缺省值为300                                  = 
     Rem = CacheName 缓存组的总名称,缺省值为"Dvbbs",如果一个站点中有超过一个缓存组,则需要外部改变这个值。        = 
     Rem = 属性:Name 定义缓存对象名称,只写属性。                                                                  = 
     Rem = 属性:value 读取和写入缓存数据。                                                                         =  
     Rem = 函数:ObjIsEmpty()判断当前缓存是否过期。                                                                = 
     Rem = 方法:DelCahe(MyCaheName)手工删除一个缓存对象,参数是缓存对象的名称。                                   = 
     Rem ================================================================ 
     Public Reloadtime,MaxCount,CacheName 
     Private LocalCacheName,CacheData,DelCount 
     Private Sub Class_Initialize() 
      Reloadtime=14400 
      CacheName="Dvbbs" 
     End Sub 
     Private Sub SetCache(SetName,NewValue) 
      Application.Lock 
      Application(SetName) = NewValue 
      Application.unLock 
     End Sub  
     Private Sub makeEmpty(SetName) 
      Application.Lock 
      Application(SetName) = Empty 
      Application.unLock 
     End Sub  
     Public  Property Let Name(ByVal vNewValue) 
      LocalCacheName=LCase(vNewValue) 
     End Property 
     Public  Property Let Value(ByVal vNewValue) 
      If LocalCacheName>"" Then  
       CacheData=Application(CacheName"_"LocalCacheName) 
       If IsArray(CacheData)  Then 
        CacheData(0)=vNewValue 
        CacheData(1)=Now() 
       Else 
        ReDim CacheData(2) 
        CacheData(0)=vNewValue 
        CacheData(1)=Now() 
       End If 
       SetCache CacheName"_"LocalCacheName,CacheData 
      Else 
       Err.Raise vbObjectError + 1, "DvbbsCacheServer", " please change the CacheName." 
      End If   
     End Property 
     Public Property Get Value() 
      If LocalCacheName>"" Then  
       CacheData=Application(CacheName"_"LocalCacheName)  
       If IsArray(CacheData) Then 
        Value=CacheData(0) 
       Else 
        Err.Raise vbObjectError + 1, "DvbbsCacheServer", " The CacheData Is Empty." 
       End If 
      Else 
       Err.Raise vbObjectError + 1, "DvbbsCacheServer", " please change the CacheName." 
      End If 
     End Property 
     Public Function ObjIsEmpty() 
      ObjIsEmpty=True 
      CacheData=Application(CacheName"_"LocalCacheName) 
      If Not IsArray(CacheData) Then Exit Function 
      If Not IsDate(CacheData(1)) Then Exit Function 
      If DateDiff("s",CDate(CacheData(1)),Now())  60*Reloadtime  Then 
       ObjIsEmpty=False 
      End If 
     End Function 
     Public Sub DelCahe(MyCaheName) 
      makeEmpty(CacheName"_"MyCaheName) 
     End Sub 
    End Class 
    %> 
    上一篇:数据库记录的删除,delete好还是update好?
    下一篇:研究动网得到的一些动网参数
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    asp提高首页性能的一个技巧 asp,提高,首页,性能,的,一个,