pow*_*tte 5 asp.net sql-server-2008
我经常以下列形式运行查询:
select * from SomeTable where id=12345
Run Code Online (Sandbox Code Playgroud)
页面后一页可能正在运行相同的查询,因为用户需要该行的值.通常我会获取一次并缓存它,但用户可以随时更改行,而其他用户也同时在SomeTable中进行更改,因此我无法对整个表进行缓存.我还有一个问题,即我们有一个用于Web服务器的集群,因此当缓存失效时,我无法在Web服务器上进行内部跟踪.
有没有办法检测到这一行发生了变化?SqlDependecyCache类可以在这里帮助单个行到多个Web服务器吗?是否有一些可以通知我的Web应用程序的触发器或其他范例?
我想要两全其美 - 网络服务器上的实时缓存更新,但我不想运行任何查询以查看该行是否已更改,因为我可以轻松地再次获取该行.
SqlCacheDependency,以及SqlDependency,可以完全按照您的描述进行操作。两者都基于查询通知,该技术允许您的应用程序在更新行时从服务器接收通知。您甚至可以从LINQ利用它。
但您需要小心,缓存频繁更改的值弊大于利。您应该只使用相当稳定的值来执行此操作。
| 归档时间: |
|
| 查看次数: |
4498 次 |
| 最近记录: |