我的Web应用程序正在使用asp.net缓存对象来存储数据库中的数据。我正在寻找一个优雅的无效缓存对象,但还没有提出任何优雅的东西。
通过跟踪缓存密钥,可以轻松地使单个记录或单个表中所有记录的列表无效。但是,我可能有任意数量的表数据子集列表。当记录发生更改时,我想仅使包含特定记录的列表的缓存记录无效。如果只有一个列表包含该记录,我不想让该表的所有数据列表无效。
我已经尝试过SqlDependency而对它不满意,因为我遇到了很多问题。你知道如何解决这个问题吗?提前谢谢!
答案 0 :(得分:1)
创建静态Dictionary<string, List<string>>
密钥将使用类似table_primarykey的命名方案,该方案代表单个记录
该值是记录缓存在
中的缓存键名称列表这将让您有效地查找缓存的记录,允许您在缓存中添加和删除项目(使用回调)时管理字典。