伺服器緩衝是把資料放在伺服器的記憶體中,用戶端緩衝則是把資料儲存在瀏覽器裡。
伺服器上某一頁面訪問量較大,且是經常變動的話,用伺服器緩衝比較合適,這樣訪止同一時間造上資料庫連接次數過多的情況。
如果伺服器上某一頁面訪問量較大,但是內容一直不變,或者非常長時間才變動的話,可以用用戶端緩衝,也可以用伺服器端緩衝。
伺服器緩衝不要濫用,要根據具體情況來使用,不然不但起不到提高效率的作用,反而比不使用緩衝更糟糕。
用戶端緩衝濫用會導致使用者長時間瀏覽的一直是固定不變的頁面
具體的用法
伺服器端:
ASP.NET 有三種可由 Web 應用程式使用的緩衝:
1.輸出緩衝:緩衝請求所產生的動態響應.
2.片斷緩衝:緩衝請求所產生的相應的各部分.
3.資料緩衝:以編程方式混存任意對象.
輸出緩衝:(緩衝絕對到期)
通過緩衝從動態網頁產生的內容來提高請求/響應的輸送量.預設情況下啟用輸出緩衝,
但不緩衝來自任何響應的輸出,除非採取顯式操作使該響應成為可快取的.
若要使相應滿足輸出緩衝的條件,它必須具有有效到期/有效性策略和公用的緩衝可
見性.啟用輸出緩衝後,當發出對頁的第一個GET請求時建立一個輸出快取項目。隨後的GET或
HEAD請求由該輸出快取項目服務,直到該緩衝請求到期。
下面的指令在響應時啟用輸出緩衝:
<%@ OutputCache Duration="60" VaryByParam="none"%>
頁片斷緩衝:(單獨緩衝)
<%@ OutputCache Duration="120" VaryByParam="id1;id2"%>
VaryByParam屬性功能非常強大,允許使用者控制項作者指示asp.net在伺服器上緩衝/儲存
輸出快取區域的多個執行個體。
片斷緩衝還支援VaryByControl屬性。VaryByParam屬性基於使用POST或GET發送的名稱
/值對改變緩衝結果,而VaryByControl屬性則通過使用者控制項中的控制項改變緩衝片斷。
頁資料緩衝:
把資料項目放入緩衝:
Cache["mykey"]=myValue;
從緩衝中檢索資料:
myValue=Cache["mykey"];
if(myCache !=null)
{
DisplayData(myValue);
}
用戶端緩衝:
<%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser" %>
另外伺服器緩衝是針對多使用者同時請求同一頁面或資料的情況
用戶端緩衝是針對同一使用者多次訪問相同頁面或資料的情況。
活用緩衝可以對網站的訪問速度有很大的提升,尤其是訪問量大的時候