學習SQL 快取依賴的筆記(比較初級)
建立依賴於資料庫中表或行的快取項(即快取資料)。當表中或特定行中發生更改時,帶有依賴項的項(快取資料)便會失效,並會從快取中移除。並重新讀取資料到快取中,這時候應用程式獲取的是最新的資料.
特點:
SQL 快取依賴項可用於應用程式快取和頁輸出快取。
可以在網路園(一臺伺服器上存在多個處理器)或網路場(多臺伺服器執行同一應用程式)中使用 SQL 快取依賴項。
與 SQL 快取依賴項關聯的資料庫操作比較簡單,因此不會給伺服器帶來很高的處理成本。
開啟Visual Studio命令提示:
1):為SQL Server中資料庫Northwind的Customers表啟用快取依賴項(依賴項名為customers,由-et -t指定):
必須注意下面的大小寫之分:
Setting environment for using Microsoft Visual Studio 2008 x86 tools.
d:\Program Files\Microsoft Visual Studio 9.0\VC>aspnet_regsql.exe -S localhost -U sa -P admin -ed -d Northwind -et -t Orders
為 SQL 快取依賴項啟用該資料庫。
.
已完成。
為 SQL 快取依賴項啟用該表。
已完成。
當看到"已完成"時,也就已經為SQL 快取依賴項啟用該表Orders。
2):在Web.config檔案為 SQL 快取依賴項配置頁
<!--connectionStrings是資料庫連線字串配置,須手動新增-->
...
對 ASP.NET 應用程式的快取中所儲存的項與特定 SQL Server 資料庫表的關係進行配置後,
SqlCacheDependency 類的一個例項將監視該表,以便在表中的項發生更改時自動更新該項或從快取中移除該項。
監視將以 PollTime 所指定的頻率進行。
程式碼實現版本:
protected void Page_Load(object sender, EventArgs e)
{
Response.AddCacheItemDependency("Northwind:customers");
// Set additional properties to enable caching.
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetValidUntilExpires(true);
}
3):在aspx頁面中使用快取:
<!--下面的SqlDependency為"資料庫名:表名",其中快取通知必須與用aspnet_regsql.exe時提供的-et -t一致-->
4):工作做到這裡,所以的工作已完成. 一旦應用程式啟動,就會每隔一段時間就去資料庫查詢.
PS:
其實對一個表設定依賴性其實就是在該表內新增一個觸發器,當執行INSERT, UPDATE, DELETE等操作時執行一個名叫AspNet_SqlCacheUpdateChangeIdStoredProcedure的儲存過程,其修改AspNet_SqlCacheTablesForChangeNotification表對於tableName的changeId,使之遞增1.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-462657/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASP.NET的快取依賴機制-SQL快取依賴篇ASP.NET快取SQL
- net5學習筆記---依賴注入筆記依賴注入
- 依賴倒轉原則--學習筆記筆記
- Hibernate---快取機制四(一,二級快取的比較)快取
- 初級英語學習筆記01筆記
- 學習筆記--- 比較排序之堆排序筆記排序
- 學習筆記——Maven 如何處理傳遞性依賴筆記Maven
- Angular 依賴注入學習筆記之工廠函式的用法Angular依賴注入筆記函式
- Spring 迴圈依賴的三種方式(三級快取解決Set迴圈依賴問題)Spring快取
- 系統快取全解析5:檔案快取依賴快取
- SQL Server 2005實現資料庫快取依賴SQLServer資料庫快取
- Spring如何使用三級快取解決迴圈依賴Spring快取
- 【spring原始碼】十、AOP迴圈依賴、三級快取Spring原始碼快取
- Android 快取工具 DiskLruCache 學習筆記Android快取筆記
- 快取依賴(檔案、資料庫)快取資料庫
- 學習AI人工智慧比較快的方法AI人工智慧
- 如何使用yii2的快取依賴特性快取
- SpringMVC學習筆記---依賴配置和簡單案例實現SpringMVC筆記
- Laravel底層學習筆記01 - 框架核心,依賴注入,閉包Laravel筆記框架依賴注入
- ASP.NET Core 學習筆記 第二篇 依賴注入ASP.NET筆記依賴注入
- Java解析XML學習筆記1 – 四種方法比較JavaXML筆記
- mybatis原始碼學習:一級快取和二級快取分析MyBatis原始碼快取
- CMake構建學習筆記14-依賴庫管理工具筆記
- spring 依賴注入的學習Spring依賴注入
- HTML5 學習筆記 應用程式快取HTML筆記快取
- SQL學習筆記SQL筆記
- ASP.NET Core 學習筆記 第三篇 依賴注入框架的使用ASP.NET筆記依賴注入框架
- iOS初級開發學習筆記:APP生命週期的學習總結iOS筆記APP
- PHP 依賴注入容器 Pimple 筆記PHP依賴注入筆記
- CDN快取學習筆記,讀騰訊雲的一些心得和整理筆記快取筆記
- Spring 的迴圈依賴,原始碼詳細分析 → 真的非要三級快取嗎Spring原始碼快取
- 畫圖帶你徹底弄懂三級快取和迴圈依賴的問題快取
- 安卓初學基礎學習筆記安卓筆記
- springcloud微服務實戰 學習筆記五 Hystrix服務降級 Hystrix依賴隔離 斷路器SpringGCCloud微服務筆記
- WPF and Silverlight 學習筆記(十三):依賴項屬性和路由事件筆記路由事件
- 【Nginx學習筆記】-初識NginxNginx筆記
- JVM學習筆記——初識JVMJVM筆記
- Scala 學習筆記 (1):初見筆記