使用轮询机制的 SQL Cache 依赖不应该是 sql server 或 application server 的负载。
让我们看看 sqlcachedependency 工作和分析它们的所有步骤:
- 为 sqlcachedependency 启用数据库。
- 一个表说 'Employee' 为 sqlcachedependency 启用。(可以是任意数量的表)
- Web.config 已更新以启用 sqlcachedependency。
- 配置了使用 sql 缓存依赖项的页面。而已。
内部:
- 步骤 1. 在数据库中创建一个表“ASPnet_sqlcachetablesforchangenotification”,该表将存储启用了 sqlcachedependency 的“Employee”表名。并添加一些存储过程。
- 步骤 2. 在“ASPnet_sqlcachetablesforchangenotification”表中插入一个“Employee”表条目。还在此“员工”表上创建插入更新删除触发器。
- 步骤 3. 通过提供连接字符串和 polltime 启用 sqlcachedependency 应用程序。
每当“Employee”表发生变化时,就会触发触发器,进而更新“ASPnet_sqlcachetablesforchangenotification”表。现在应用程序每 5000 毫秒轮询一次数据库,并检查对“ASPnet_sqlcachetablesforchangenotification”表的任何更改。如果有 r 任何更改,则相应的缓存将从内存中删除。
缓存与数据新鲜度相结合的巨大好处(最多数据可以陈旧 5 秒)。轮询由后台进程负责,不应成为性能障碍。因为正如您从上面的列表中看到的那样,该任务对 CPU 的要求最低。