香港虚拟主机
本站公告
新闻资讯
虚拟主机帮助
域名帮助
服务器帮助
邮箱帮助
建站帮助
网站推广帮助
VPS帮助
特色主机帮助
网站备案专题
会员帮助信息
代理帮助信息
成功案例
我司获香港虚拟主机排行榜十…
香港虚拟主机金秋促销活动正…
百度整治给SEO带来了新的希望
百度同时收录网站带WWW和不带…
百度对原创内容的判断标准 如…
如何建设网站 网站建设三步曲
如何挑选老域名 老域名有那些…
域名常见故障与分析
虚拟主机基本参数介绍
交换链接的技巧 谈一下选择交…
您现在的位置: 江南数联 >> 帮助中心 >> 建站帮助 >> 正文

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

  作者:admin    来源:本站原创    点击次数:29     更新时间:2012-9-16 7:39:23  
     
 
关注石头有礼
 
 

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
%>

 

本章关健词:江南数联 域名注册 海外虚拟主机 G享虚拟主机 国内虚拟主机 企业邮箱 网站建设 自助建站 400电话申请 微聚商

 
  版权申请:asp提高首页性能的一个技巧出自江南数联dns06.com未经授权请勿转载!  
 
  • 上一篇帮助:

  • 下一篇帮助:
  •  
         

    扫一扫关注公众号有礼
    Copyright@2004-2015 江南数联 版权所有未经授权请勿复制!
    《中华人民共和国增值电信业务经营许可证》ISP证编号:皖B2-20080036 湘B2-20160056
    公司全称:永州石头网络技术有限公司(运营部)
    地址: 中国·湖南省永州市育才路158号 服务热线:400 616 9260
    安徽公司:安徽仁科信息技术有限公司 地址:合肥万和新城广场A-608 
    关注词:网站空间虚拟空间空间域名域名空间域名主机网站空间哪家好网站空间多少钱