boj*_*boj 5 c# business-objects
我们有一个复杂的领域模型.为避免性能问题,大多数列表(从域对象生成)都被缓存.在第一个域对象发生变化之前,一切正常.必须刷新缓存中的所有依赖列表 - 问题是:如何?
毫无疑问,有一种非常简单的方法:保存域对象后,我们手动刷新代码中的所有列表.
伪代码
repository.Save(save);
cacheManager.Invalidate("HouseList");
cacheManager.Invalidate("OrderedHouseList");
cacheManager.Invalidate("HousecombinedWithResidentsList");
...
Run Code Online (Sandbox Code Playgroud)
所以问题是:我们必须手动刷新所有内容.我正在寻找更好的解决方案,让我们说:
任何想法或经验?
这个问题的答案很复杂,因为您的要求不明确。数据会陈旧吗?如果是这样,需要多长时间?
根据您帖子中的有限信息,我建议“缓存”视图只是对真实数据的查询。查询本身可以在一定的时间间隔内定期刷新其缓存的结果。