利用 cache 做对比静态页的网页技术 一直想写一套生成静态页面的文章系统 但面对生成静态后的一些复杂数据库交互问题。又望而却步! 于是就想 有没有 在不耽误数据交互的情况下,而又能降低服务器负担的方法呢! 一个网站,访问量最大的莫过于 首页 和主栏目页了。 其他的页面 我可以不去想, 首页和主栏目页 在大流量下服务器改如何承担呢。 根据我编程2年多来的总结经验我想去了一下方法! 不生成静态页 并且降低服务器负担! 复制代码 代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% '读取远程文件的函数 Public Function readRemoteFile(RemoteDataUrl) Dim XMLHttp 'On Error Resume Next Set XMLHttp = Server.CreateObject("Microsoft.XMLHTTP") With XMLHttp .Open "Get", RemoteDataUrl, False .Send readRemoteFile = BytesToBstr(.responseBody, "UTF-8") End With Set XMLHttp = Nothing End Function '编码转换 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 Function tobody() Dim dateVal '先试图访问缓存,看有没有,或者过期没有 dateVal = Application("defaultdate") If dateVal = "" Then dateVal = DateAdd("s",1200,Now) If Application("default") <> "" Then If DateDiff("s", Now, dateVal) > 0 Then '如果有,就从缓存读取,对服务器来说,就是从内存读取 tobody = Application("default")&"" Exit Function End If End If Dim body '如果缓存没有,则从远程读取,并写入缓存,设置缓存时间。 body = readRemoteFile("http://www.aoaob.com/default.asp") tobody = body&"" Application.Lock Application("default") = body Application("defaultdate") = DateAdd("s",1200,Now) Application.UnLock End Function Response.Write(tobody()) %>