設置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服務器的點擊次數就會減少。如果想精確地了解所有頁面,或者對於郵遞廣告,就不適於使用瀏覽器和代理緩存了。
瀏覽器緩存由HTTPExpires頭參數控制,它由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的。注意:不要讓代理緩衝那些顯示給特定用戶的頁面,因為代理可能會將屬於其他用戶的頁面送給當前用戶。