gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 30 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章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   %>  。

最后此篇关于asp提高首页性能的一个技巧的文章就讲到这里了,如果你想了解更多关于asp提高首页性能的一个技巧的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com