程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP入門教程 >> 設置ASP緩存的幾條重要函數

設置ASP緩存的幾條重要函數

編輯:ASP入門教程

設置ASP緩存的幾個語句

1.Application變量

一般采用緩存變量:application("變量名")=[變量值]

將這些語句放在網站根目錄下的global.asa中即可取到全局變量。

2.Buffer

Buffer 屬性指示是否緩沖頁輸出。當緩沖頁輸出時,只有當前頁的所有服務器腳本處理完畢或者調用了 Flush 或 End 方法後,服務器才將響應發送給客戶端。

服務器將輸出發送給客戶端後就不能再設置 Buffer 屬性。因此,應該在 .ASP 文件的第一行調用 Response.Buffer 。

語法
Response.Buffer [= flag]參數
flag
指定是否緩沖頁輸出,可為如下值之一。 值 說明
FALSE 不緩沖。該值是默認值。服務器在處理腳本的同時將輸出發送給客戶端。
TRUE 除非當前頁的所有 ASP 腳本處理完畢或調用了 Flush或 End 方法,否則服務器不將響應發送給客戶端。

注釋

如果當前 ASP 腳本緩沖設為 TRUE ,但未調用 Flush 方法,則服務器將使客戶端的請求保持活動。由於服務器不必為每個客戶端創建新的連接,從而節省了時間。

不過,緩沖將在服務器未處理完當前頁的所有腳本之前阻止在客戶端顯示響應。對於長的腳本來說,有可能會感覺到延遲。


即當Buffer為True的時候,ASP會將這個程序解釋完畢後一起發送到客戶端,
當Buffer為False的時候,ASP會邊解析邊發送數據.

<% Response.Buffer = True %>這句話的意思就是指明輸出頁面是否被緩沖,當屬性值為True時,服務器將不會向客戶端發送任何信息,直到所有程序執行完或者遇到<% Response.Flush %>或<% Response.End %>語句,才會釋放緩沖區的信息。
下面的這個代碼演示了Buffer的這一特性:

 1<%  2Response.Charset = "gb2312" 3Response.Buffer = "False" 4Dim str256 5str256 = "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz" 6 7Response.Write("開始<br>") 8For i = 1 to 100 9    For u = 1 to 100000010    Next11    Response.Write(str256 &  "    ")12    Response.Write(i & "<br>")13Next14Response.Write("結束")15%>

如果將Response.Buffer = "False"改為Response.Buffer = "True"則會解析完畢再輸出,即輸出一個含有1到100的數字的網頁

Response的Buffer屬性雖然能夠提高頁面顯示速度,但是也要分什麼情況。如果你正在制作一個普通的個人主頁,訪問量不是很高,並且沒有什麼復雜的執行程序,那麼用不用這個屬性就不是很重要,因為將數據緩沖也需要一段時間,只不過我們感覺不到罷了;但是如果你正在制作一個大型論壇或者一個產品展示或其他的商務站點,並且訪問量很高,那麼我建議在程序的第一行加入
<% Response.Buffer = True %>
這句話,因為這樣能夠讓客戶在有效的時間內獲得更多的數據。

3.Expires

語法:Response.Expires = [時間]

使用浏覽器或者代理緩存後,對Web服務器的點擊次數就會減少。如果想精確地了解所有頁面,或者對於郵遞廣告,就不適於使用浏覽器和代理緩存了。
  浏覽器緩存由HTTP“Expires”頭參數控制,它由Web服務器發送給浏覽器。ASP提供了2個簡單的方法發送這個頭部參數。設置頁面在未來一定時間內到期,可以使用Response.Expires屬性。下面的例子將告訴浏覽器內容在10分鐘後過期:< % Response.Expires = 10 % >
  設置Response.Expires為負數或者0,就禁止了緩存。對第2個屬性Response.ExpiresAbsolute的設置,允許指定在一個特殊時間到來時內容過期。
  < % Response.ExpiresAbsolute = #May 31,2001 13:30:15# % >
  除了使用Response對象來設置到期時間,還可以在Html文件頭部寫< META >標記。盡管代理不會注意到這個標記,但是一些浏覽器可以。
  < META HTTP-EQUIV="Expires" VALUE="May 31,2001 13:30:15" >
  最後,對於HTTP代理,使用Response.CacheControl可以指示是否緩存內容。設置屬性為“Public”,打開代理緩存內容的功能。
  < % Response.CacheControl = "Public" % >
  默認情況下,這個屬性是設置成“Private”的。注意:不要讓代理緩沖那些顯示給特定用戶的頁面,因為代理可能會將屬於其他用戶的頁面送給當前用戶。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved