从其他应用程序中删除HttpRuntime.Cache项目

时间:2011-07-04 16:39:00

标签: asp.net-mvc-3 caching sqlcachedependency

我有一个管理应用程序,我在其中操作数据库中的对象,以及一个公共的asp.net mvc应用程序,主要用于查看这些对象。

我已经为一些使用HttpRuntime.Cache的对象实现了一个简单的缓存。

我想从管理应用程序中使公共应用程序的部分缓存无效。

最简单的解决方案是进行ClearCache()操作,在调用时清除缓存中的每条记录。

但是利用缓存依赖关系的缓存不是更好吗?我不知道最好使用哪种以及如何使用。我在考虑sql依赖,但是因为我正在进行缓存以跳过sql查询,所以我不确定这会很快。

检查sql缓存依赖性是否缓慢?我希望在很多情况下使用缓存的对象,每次检查sql依赖都不好。

1 个答案:

答案 0 :(得分:1)

您可以使用CacheDependency。

如果有两个单独的申请。您可以使用文件依赖选项。 (还有缓存键依赖选项)

当您从应用程序触摸特定文件(可能只是一个空文件)时。依赖于同一文件的其他应用程序缓存项将自动过期。

您可以使用不同的文件来过期不同类别的缓存项目。