数据表值更改时使内存缓存中的C#过期
我有一个c#应用程序,它将sql server数据库中的一些数据表缓存在内存中。 我已经编写了一个线程在30分钟后更新缓存,但这听起来不是一个好的解决方案。 我觉得最好的解决方案是在数据表数据更改时使缓存过期。 是否有任何框架可以通过配置来实现这一点。 我检查了EnterpriseCacheLibrary,但它似乎并没有提供对数据表的关注。 我是否必须在数据库中写入触发器来更新一个表,以帮助我的线程查看该表并决定使缓存过期数据表值更改时使内存缓存中的C#过期,c#,.net,sql-server,caching,C#,.net,Sql Server,Caching,我有一个c#应用程序,它将sql server数据库中的一些数据表缓存在内存中。 我已经编写了一个线程在30分钟后更新缓存,但这听起来不是一个好的解决方案。 我觉得最好的解决方案是在数据表数据更改时使缓存过期。 是否有任何框架可以通过配置来实现这一点。 我检查了EnterpriseCacheLibrary,但它似乎并没有提供对数据表的关注。 我是否必须在数据库中写入触发器来更新一个表,以帮助我的线程查看该表并决定使缓存过期 请告诉我此要求的最佳实践。您可能正在寻找SqlDependency/Sq
请告诉我此要求的最佳实践。您可能正在寻找SqlDependency/SqlCacheDependency。不过不太确定。检查此链接。这可能对你有用
希望这有帮助。这看起来不错,因为我已经编写了一个线程来监视数据库,我需要比较我的实现和SQLDependency之间的性能,它查找更改的频率,它是否触发相同的命令并比较内存中的数据?我认为它不会查找更改。事实上,如果注册查询的结果发生更改,它会通知客户端。是的,它会查找更改,SQL不会通知应用程序,SQLDependency会在配置的时间后在内部查找对日志表的更改。看见