简单介绍:一般一个网站的首页访问量是最大的,如果您的网站的首页打开的非常缓慢,您的客户将会陆续离开你的网站.通常我们把需要经过复杂运算或者查询数据库得出的数据缓存起来或者生成静态网页来提高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 " 执行时间:" & 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, = |