利用 cache 做对比静态页的网页技术
一直想写一套生成静态页面的文章系统 但面对生成静态后的一些复杂数据库交互问题。又望而却步!
于是就想 有没有 在不耽误数据交互的情况下,而又能降低服务器负担的方法呢!
一个网站,访问量最大的莫过于 首页 和主栏目页了。 其他的页面 我可以不去想, 首页和主栏目页 在大流量下服务器改如何承担呢。
根据我编程2年多来的总结经验我想去了一下方法!
不生成静态页 并且降低服务器负担!
于是就想 有没有 在不耽误数据交互的情况下,而又能降低服务器负担的方法呢!
一个网站,访问量最大的莫过于 首页 和主栏目页了。 其他的页面 我可以不去想, 首页和主栏目页 在大流量下服务器改如何承担呢。
根据我编程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")&"<!--new cache"&dateVal&"-->" Exit Function End If End If Dim body '如果缓存没有,则从远程读取,并写入缓存,设置缓存时间。 body = readRemoteFile("http://www.aoaob.com/default.asp") tobody = body&"<!--made cache"&Now&"-->" Application.Lock Application("default") = body Application("defaultdate") = DateAdd("s",1200,Now) Application.UnLock End Function Response.Write(tobody()) %>
相关推荐
Crazyshark 2020-09-05
linjava 2020-06-14
一个逗逗 2020-04-16
Ericbig 2020-03-03
doubinning 2020-02-18
codeAB 2020-01-19
wangqing 2020-01-18
猛禽的编程艺术 2019-12-19
bryantmeng 2019-11-21
bestallen 2019-11-04
小小狐狸 2019-09-29
bcbeer 2017-07-15
D先生 2020-07-04
shangs00 2020-05-09
shangs00 2020-02-12
qscool 2020-01-30