首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 快取機制全解析:輸出快取、資料快取與 SqlCacheDependency

     編輯:關於ASP.NET

快取是 ASP.NET 提升效能的核心手段。善用快取可容忍高耗能控件(如 GridView)帶來的開銷。本文系統整理三大層面:

1. 頁面輸出快取(@OutputCache)

頁面頂端加入指令:

<%@ OutputCache Duration="60" VaryByParam="*" %>

必要屬性:

  • Duration:快取秒數(正整數)。
  • VaryByParam:依查詢字串/表單參數變化建立不同快取版本(* 表示全部參數)。

進階屬性:Location(Any/Client/Server/None/ServerAndClient/Downstream)、VaryByHeader、VaryByCustom(如 "Browser")。

2. 資料快取

使用 Cache.Insert(key, value, dependencies, absoluteExpiration, slidingExpiration) 手動管理物件快取,支援檔案/鍵值/時間依賴。

3. SqlCacheDependency(SQL 快取相依性)

SQL Server 2005+:啟用查詢通知,web.config 僅需:

<sqlCacheDependency enabled="true" />

SQL Server 2000:需輪詢機制,執行 aspnet_regsql 註冊資料庫/資料表,web.config 設定 pollTime 等屬性。

效能對比

實測:自訂分頁(僅撈當頁資料)比預設分頁(全表撈回再篩選)快 2 倍以上;啟用 SqlDataSource 快取雖能減少資料庫往返,但首次仍需載入全量資料,且面臨過期資料風險,整體效能仍不及自訂分頁。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved