使用SqlCacheDependency依賴項(xiàng)讓數(shù)據(jù)庫(kù)變化后緩
系統(tǒng)
1590 0
SqlCacheDependency可以使緩存在數(shù)據(jù)庫(kù)或者數(shù)據(jù)庫(kù)某張表或者字段變化后讓指定緩存失效。對(duì)于一些需要及時(shí)顯示的信息比較有用。
需要.net2.0以后設(shè)sql server2005及以后版本支持。
首先配置web.config
<system.web>
<caching>
<sqlCacheDependency enabled="true" pollTime="5000">
<databases>
<add connectionStringName="DefaultConnection" name="SiteInfoSqlDependency"/>
</databases>
</sqlCacheDependency>
</caching>
</system.web>
第二步 插入緩存:
//啟用更改通知
SqlCacheDependencyAdmin.EnableNotifications(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
//連接到 SQL Server 數(shù)據(jù)庫(kù)并為 SqlCacheDependency 更改通知準(zhǔn)備數(shù)據(jù)庫(kù)表
SqlCacheDependencyAdmin.EnableTableForNotifications(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString, "QJInfo_SiteInfo");
//制定緩存策略
SqlCacheDependency scd = new SqlCacheDependency("SiteInfoSqlDependency", "QJInfo_SiteInfo");
//插入緩存
cache.Insert("SiteInfo", siteInfo, scd, DateTime.Now.AddHours(5), Cache.NoSlidingExpiration);
之后數(shù)據(jù)庫(kù)表有插入、更新或刪除操作時(shí),該緩存就會(huì)自動(dòng)失效,數(shù)據(jù)庫(kù)里邊多了個(gè)表AspNet_SqlCacheTablesForChangeNotification來(lái)記錄相關(guān)表變化信息。
使用SqlCacheDependency依賴項(xiàng)讓數(shù)據(jù)庫(kù)變化后緩存失效
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元