国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > ASP > 正文

利用 cache 做對(duì)比靜態(tài)頁(yè)的網(wǎng)頁(yè)技術(shù)

2020-07-27 13:04:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
一直想寫一套生成靜態(tài)頁(yè)面的文章系統(tǒng) 但面對(duì)生成靜態(tài)后的一些復(fù)雜數(shù)據(jù)庫(kù)交互問(wèn)題。又望而卻步!

于是就想 有沒(méi)有 在不耽誤數(shù)據(jù)交互的情況下,而又能降低服務(wù)器負(fù)擔(dān)的方法呢!

一個(gè)網(wǎng)站,訪問(wèn)量最大的莫過(guò)于 首頁(yè) 和主欄目頁(yè)了。 其他的頁(yè)面 我可以不去想, 首頁(yè)和主欄目頁(yè) 在大流量下服務(wù)器改如何承擔(dān)呢。

根據(jù)我編程2年多來(lái)的總結(jié)經(jīng)驗(yàn)我想去了一下方法!

不生成靜態(tài)頁(yè) 并且降低服務(wù)器負(fù)擔(dān)!
復(fù)制代碼 代碼如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
'讀取遠(yuǎn)程文件的函數(shù)
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
'編碼轉(zhuǎn)換
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
                '先試圖訪問(wèn)緩存,看有沒(méi)有,或者過(guò)期沒(méi)有
    dateVal = Application("defaultdate")
    If dateVal = "" Then dateVal = DateAdd("s",1200,Now)
    If Application("default") <> "" Then
        If DateDiff("s", Now, dateVal) > 0 Then
                                                '如果有,就從緩存讀取,對(duì)服務(wù)器來(lái)說(shuō),就是從內(nèi)存讀取
            tobody = Application("default")&"<!--new cache"&dateVal&"-->"
            Exit Function
        End If
    End If
    Dim body
                '如果緩存沒(méi)有,則從遠(yuǎn)程讀取,并寫入緩存,設(shè)置緩存時(shí)間。
    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())
%>
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 花莲县| 临城县| 大宁县| 云和县| 巴东县| 防城港市| 重庆市| 大同县| 西峡县| 文安县| 金堂县| 嘉峪关市| 达日县| 罗定市| 湘潭县| 嘉禾县| 开封市| 余姚市| 南投市| 济阳县| 台江县| 南京市| 黑龙江省| 台东县| 屏山县| 中卫市| 五峰| 张掖市| 颍上县| 潞城市| 沙湾县| 夏河县| 淮滨县| 准格尔旗| 托克托县| 通山县| 宜城市| 策勒县| 佛坪县| 宕昌县| 泾川县|