ASP.NET数据缓存以及如何使其无效

时间:2011-03-17 23:11:22

标签: c# asp.net caching

我的Web应用程序正在使用asp.net缓存对象来存储数据库中的数据。我正在寻找一个优雅的无效缓存对象,但还没有提出任何优雅的东西。

通过跟踪缓存密钥,可以轻松地使单个记录或单个表中所有记录的列表无效。但是,我可能有任意数量的表数据子集列表。当记录发生更改时,我想仅使包含特定记录的列表的缓存记录无效。如果只有一个列表包含该记录,我不想让该表的所有数据列表无效。

我已经尝试过SqlDependency而对它不满意,因为我遇到了很多问题。你知道如何解决这个问题吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

创建静态Dictionary<string, List<string>>

密钥将使用类似table_primarykey的命名方案,该方案代表单个记录

该值是记录缓存在

中的缓存键名称列表

这将让您有效地查找缓存的记录,允许您在缓存中添加和删除项目(使用回调)时管理字典。