Sql缓存依赖--数据库缓存

•依赖于文件内容
CacheDependency cDep = new CacheDependency(filePath);
•依赖于数据库内容(轮询机制/通知机制)
一:轮询机制

  1.在数据库新建版本表。2.在数据库新建触发器(比如在新闻表上新建)。
3.使用C:WINDOWSMicrosoft.NETFrameworkv2.0.50727中的aspnet_regsql.exe:
注册:aspnet_regsql -S . -E -ed -d 数据库名 -et -t 版本表名
删除:aspnet_regsql -S . -E -d 数据库名 -dt -t 版本表名
取消数据库缓存依赖: aspnet_regsql -S . -E -dd 数据库名
数据库名 列出已注册表:aspnet_regsql -S . -E -d 数据库名 –lt
4.配置web.config(见备注)
5.数据库依赖对象
SqlCacheDependency cDep =
   new SqlCacheDependency("GSSMS", "CacheDep");

参考步骤:

1.依赖于文件System.Web.Caching.CacheDependency cDep = new System.Web.Caching.CacheDependency(filePath);

Cache.Add("fmsg", msg, cDep, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Normal, RemovedCallback);

aspnet_regsql -S . -E(集成登陆)/-U sa -P 123 -ed(启动/-dd关闭) -d(数据库名) GSSMS -et(指定缓存依赖的表名/-dt禁用表名) -t(表名) Aticle
2.依赖于数据库的web.config配置
<system.web>

<caching>

<sqlCacheDependency enabled="true">

<databases>

<add name="GSSMS" connectionStringName="conStr2" pollTime="15000"/>

</databases>

</sqlCacheDependency>

</caching>

pollTime:表示隔多少毫秒轮询一次

原文地址:https://www.cnblogs.com/xiexingen/p/3181019.html