程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> asp教程:asp利用Application來實現緩存功能

asp教程:asp利用Application來實現緩存功能

編輯:ASP技巧

這裡介紹ASP利用Application來實現緩存功能,用來提高頁面的打開速度的一種方法,具體代碼如下:

01 <% 02 function refreshrecords() 03 Dim sql, conn, rs 04 sql = "select top 10 *  FROM Dv_Topic order by DateAndTime desc" 05 Set conn = Server.CreateObject("ADODB.Connection") 06 conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&server.mappath("dv.mdb") 07 Set rs = Server.CreateObject("ADODB.Recordset") 08 rs.Open sql,conn, 1, 1 09   10 If Not rs.EOF Then 11     Dim temp 12     temp="<ul>" 13     for i=1 to 10 14     temp = temp&"<li><a href=""http://www.aspbc.com/dispbbs.ASP?boardID="&rs("Boardid")&"&ID="&rs("topicid")&"&page=1"">"&rs("Title")&"("&rs("PostUserName")&")</a></li>" 15     ''這個地方各有所好了,顯然和一個用table,td,tr,tbody來寫前台的人合作,是一件很痛苦的事情. 16     rs.MoveNext 17     i=i+1 18     next 19     temp = temp & "</ul>" 20     refreshrecords = temp 21 Else 22     refreshrecords = "數據調用失敗." 23 End If 24 rs.Close 25 conn.Close 26 Set rs = Nothing 27 Set conn = Nothing 28 End Function 29   30   31 ''下面的function則是用來更新緩存的 32   33 function displayrecords(secs) 34     if Application("cache")="" or isempty(Application("cache")) then'''' 程序第一次運行時候更新緩存 35     ''''application("cache")用來保存我們需要緩存在內存中的內容 36     ''''application("cache_time")用來保留緩存上次更新的時間 37     ''''我們只在兩種情況下是需要調用refresh函數來訪問數據庫來更新緩存 38     ''''第一種就是服務器重啟 或者其他意外導致application存儲的值丟失 39     Application.Lock 40     Application("cache_date")=now() 41     ''更新緩存時間 42     Application("cache") = refreshrecords() 43     ''更新緩存內容 44     ''codeby niceidea 簽名 45     Application.UnLock 46     end if 47   48     if DateDiff("s", Application("cache_date"),Now)> secs then  ''比較上次更新時間與當前時間的差值 49     ''''另外一種需要更新緩存的情況就是緩存到期 所謂緩存就是保留一定時間的數據 定期更新恐怕是最常見的 50     Application.Lock 51     Application("cache_date")=now() 52     Application("cache") = refreshrecords() 53     Application.UnLock 54     end if 55     Response.Write Application("cache") 56 End Function 57 %>(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)


最後 調用的方法是:

1 <% Call displayrecords(300) %>(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)

300 = 5 × 60秒,表示5分鐘更新一次
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved