SqlCacheDependency类在所有受支持的 SQL Server 版本 (7.0, 2000, 2005) 上监视特定的 SQL Server 数据库表,以便在该表发生更改时,自动从 Cache 在使用 SQL Server 2005 数据库时,SqlCacheDependency 类还支持与 System.Data.SqlClient.SqlDependency 类进行集成。 数组中的对象可以是 CacheDependency 对象、SqlCacheDependency 对象、从 CacheDependency 派生的自定义对象或这些对象的任意组合. ASP.NET 2.0 允许您使用 SqlCacheDependency 类创建依赖于数据库中表或行的缓存项。当表中或特定行中发生更改时,带有依赖项的项便会失效,并会从缓存中移除。 可以在 Web.config 文件中以声明方式指定应用程序中的轮询间隔,也可以使用 SqlCacheDependency 类以编程方式指定此间隔。
ProjectManageDB -et -t TblProjectInfo 然后在web.config中的<system.web> </system.web>中加入如下代码 <caching> <sqlCacheDependency connectionStringName="ProjectManageDBConnectionString" name="ProjectManageDB" pollTime="2000"/> </databases> </sqlCacheDependency
--pollTime,毫秒为单位,意识是每隔10秒检测下数据库,检测表是否有发生变化--> <sqlCacheDependency pollTime="10000"> <databases <add name="MySQLCacheDB" connectionStringName="cacheConn"/> </databases> </sqlCacheDependency --数据库缓存依赖配置 End--> Code:HttpRuntime.Cache.Add(key, list, new SqlCacheDependency("SQLCacheDB", "SeoTKD
ASP.NET 2.0 还提供了SqlCacheDependency 和CacheDependency 两个缓存相关类。
新的Petshop4实现了与Petshop 3相同甚至更多的特性,由于采用了Master Pages,Membership,以及Profile,SqlCacheDependency,但是代码量却减少了四分之一 ,包括购物车等 6 .采用了Master Pages,取代了原来的用户控件,来实现统一的界面效果 7 .使用了ASP.NET 2.0 Wizard控件实现check-out 8 .使用了SqlCacheDependency
新的Petshop4实现了与Petshop 3相同甚至更多的特性,由于采用了Master Pages,Membership,以及Profile,SqlCacheDependency,但是代码量却减少了四分之一 Providers 做用户状态管理,包括购物车等 6.采用了Master Pages,取代了原来的用户控件,来实现统一的界面效果 7.使用了ASP.NET 2.0 Wizard控件实现check-out 8.使用了SqlCacheDependency
: TestTable"/> 15: </outputCacheProfiles> 16: </outputCacheSettings> 17: <sqlCacheDependency <add name="TestDb" connectionStringName="localDb"/> 20: </databases> 21: </sqlCacheDependency
: TestTable"/> 15: </outputCacheProfiles> 16: </outputCacheSettings> 17: <sqlCacheDependency <add name="TestDb" connectionStringName="localDb"/> 20: </databases> 21: </sqlCacheDependency
在这三种缓存中,OutputCache和 数据缓存 又可以应用SqlCacheDependency缓存过期策略,SqlCacheDependency说简单些就是当数据库的数据发生改变的时候使依赖于此数据库 (表)的缓存自动过期,SqlCacheDependency又分为Sql Server2000的基于轮询(Polling)的拉机制,和Sql Server2005 基于通知(Notification)的推机制两种不同策略 而应用System.Web.Caching.Cache时不能应用SqlCacheDependency过期策略,只能应用基于某个文件改变或其他Cache项目改变的过期策略。
</providers> </membership> –> < caching > < sqlCacheDependency connectionStringName=“SQLConnString1“pollTime=“10000“/> </ databases > </ sqlCacheDependency
该朋友利用.Net的SqlCacheDependency缓存依赖,解决了缓存数据何时更新的问题。
所谓依赖项(例如:微软的类cachedependcy sqlCacheDependency)当依赖项变动了,系统会通知cache过期,无效。以上只是说缓存,缓存可是有服务器缓存,客户端缓存啊。
PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/> <section name="<em>sqlCacheDependency</em> <em>sqlCacheDependency</em>:为 ASP.NET 应用程序配置 SQL 缓存依赖项。