使用SqlCacheDependency依赖项让数据库变化后缓存失效
2013-06-21 15:42
585 查看
SqlCacheDependency可以使缓存在数据库或者数据库某张表或者字段变化后让指定缓存失效。对于一些需要及时显示的信息比较有用。
需要.net2.0以后设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 数据库并为 SqlCacheDependency 更改通知准备数据库表
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);
之后数据库表有插入、更新或删除操作时,该缓存就会自动失效,数据库里边多了个表AspNet_SqlCacheTablesForChangeNotification来记录相关表变化信息。
需要.net2.0以后设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 数据库并为 SqlCacheDependency 更改通知准备数据库表
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);
之后数据库表有插入、更新或删除操作时,该缓存就会自动失效,数据库里边多了个表AspNet_SqlCacheTablesForChangeNotification来记录相关表变化信息。
相关文章推荐
- \t\t【总结】ASP.NET 缓存 SqlCacheDependency 监视数据库表变化 让缓存更新的更及时更提高节能
- 关于数据库依赖缓存的SqlCacheDependency的demo<转>
- 在ASP.NET 2.0中操作数据之五十九:使用SQL缓存依赖项SqlCacheDependency
- asp.net mvc5中使用缓存依赖SqlCacheDependency
- asp.net mvc5中使用缓存依赖SqlCacheDependency
- asp.net mvc5中使用缓存依赖SqlCacheDependency
- ASP.NET 缓存 SqlCacheDependency 监视数据库表变化 让缓存更新的更及时更提高节能
- sqlCachedependency【数据缓存依赖】 的使用
- 关于数据库依赖缓存的SqlCacheDependency的demo
- asp.net mvc5中使用缓存依赖SqlCacheDependency
- SQL数据缓存依赖 [SqlServer | Cache | SqlCacheDependency ]
- CacheDependency、SqlCacheDependency Asp.net 2.0和Sql的缓存管理和使用
- 【状态保持】Cache 基于SQL 数据库 的缓存依赖 轮询机制详解
- 在作缓存时使用SqlCacheDependency
- AggregateCacheDependency、CacheDependency、SqlCacheDependency Asp.net 2.0和Sql Server的缓存管理和使用ObjectBuilder改造PetShop4 的缓存示例
- 在作缓存时使用SqlCacheDependency
- 使用 SqlCacheDependency 类在 ASP.NET 中缓存
- 使用SqlCacheDependency的一点注记(如何开启Sqlserver2000的缓存机制)
- SqlCacheDependency使用查询(命令)通知使缓存无效
- SQL数据缓存依赖 [SqlServer | Cache | SqlCacheDependency ]