最近正在學緩存依賴,現把一些學習資料整理如下:
緩存依賴主要提供以下功能:
1.SQL 緩存依賴項可用于應用程序緩存和頁輸出緩存。
2.可在 SQL Server 7.0 及更高版本中使用 SQL 緩存依賴項。
3.可以在網絡園(一臺服務器上存在多個處理器)或網絡場(多臺服務器運行同一應用程序)中使用 SQL 緩存依賴項。
4.與 SQL 緩存依賴項關聯的數據庫操作比較簡單,因此不會給服務器帶來很高的處理成本。
現在把與緩存依賴相關的對象集合如下,并對差異性進行了一定程度的分析……
緩存依賴主要由3個核心類來實現:CacheDependency、AggregateCacheDependency、SqlCacheDependency。CacheDependency 類是 AggregateCacheDependency 類和 SqlCacheDependency 類的父類。
CacheDependency跟蹤緩存依賴項,緩存依賴項可以是應用程序的 Cache 中的文件、目錄或與其他對象的鍵,可用于實現自定義緩存依賴。//對文件可起作用。
SqlCacheDependency類在所有受支持的 SQL Server 版本 (7.0, 2000, 2005) 上監視特定的 SQL Server 數據庫表,以便在該表發生更改時,自動從 Cache 中刪除與該表關聯的項。數據庫表發生更改時,將自動刪除緩存項,并向 Cache 中添加新版本的項。在使用 SQL Server 2005 數據庫時,SqlCacheDependency 類還支持與 System.Data.SqlClient.SqlDependency 類進行集成。使用 SQL Server 2005 的查詢通知機制來檢測使 SQL 查詢結果無效的數據更改。與 SQL 查詢關聯的任何緩存項都將從 System.Web.Caching.Cache 中移除。在使用 SQL Server 2005 時,可以使用 SqlCacheDependency 類向應用程序的 Cache 添加依賴于 SQL Server 數據庫表或 SQL 查詢的項。//對數據表的支持
AggregateCacheDependency類監視依賴項對象的集合,以便在任何依賴項對象更改時,該緩存項都會自動移除。數組中的對象可以是CacheDependency或者SqlCacheDependency對象、從 CacheDependency派生的自定義對象或這些對象的任意組合.
AggregateCacheDependency類與CacheDependency類的不同之處在于前者允許您將不同類型的多個依賴項與單個緩存項關聯。例如,如果您創建一個從 SQL Server 數據庫表和 XML 文件導入數據的頁,則可創建一個SqlCacheDependency對象來表示數據庫表的依賴項,以及一個CacheDependency來表XML 文件的依賴項。可創建 AggregateCacheDependency類的一個實例,將每個依賴項添加到該類中,而不是為每個依賴項調用 Cache.Insert 方法。然后,可使用單個Insert 調用使該頁依賴于 AggregateCacheDependency實例。
//DataSet mds = new DataSet();//驗證數據綁定用,因為xml層次結構的問題導致了數據綁定失敗;
//mds.ReadXml(Server.MapPath("~/App_Data/XMLFile.xml"));
//grvCS.DataSource = mds;
//grvCS.DataBind();
}
}
新聞熱點
疑難解答