缓存依赖
SqlDependency:一个值,用于标识操作的输出缓存所依赖的一组数据库名称和表名称对。
SqlCacheDependency类在所有受支持的 SQLServer 版本上监视特定的 SQL Server 数据库表,数据库表发生更改时,将自动删除缓存项,并向 Cache 中添加新版本的项。
案例说明:数据库为本地数据库,库名:DBStu, 监听表名:Student。缓存时间为:3600秒即一小时。数据库依赖周期为500毫秒,即每0.5秒监听下数据库是否有变化,如果有变化则立即更新缓存。
第一步:建立Control
第二步,在配置文件中配置CacheProfile为SqlDependencyCache的节,并且配置缓存对数据库的依赖。
注意:
1)由于是缓存对数据库的依赖,此外必须包含connectionStrings的节。
2)<addname="UserCacheDependency" connectionStringName="Conn"pollTime="500"/>
connectionStringName:数据库连接字符串的名称
pollTime:监听数据库变化的周期,以毫秒为单位。即每500毫秒查看下数据库是否有变化。
3) <add name=”SqlDependencyCache”sqlDependency="UserCacheDependency:Student"duration="3600"/>
sqlDependency:数据依赖的节的名称+冒号+数据表名称(小写)。如果这个依赖会用到多个表,则用分号间隔开,如下所示UserCacheDependency:Student;UserCacheDependency:Grade
第三步:启用该数据库表的缓存依赖通知功能
打开vs命令工具行,输入:aspnet_regsql -S localhost -U sa -P 123456 -ed -d DBStu-et -t student
-Slocalhost 数据库地址
-U sa:数据库登录名
-P123456:数据库登录密码
-dDBStu:数据库的名称
-t student:表名称(小写)
刷新时间不变,修改数据库
修改数据后刷新时间更新