asp.net-mvc - 如何使用 linq2sql 存储库在我的 Asp.net Mvc 中实现缓存策略?

标签 asp.net-mvc linq-to-sql caching datacontext

我不知道我是否应该使用 httpcontext 缓存或企业库缓存应用程序块。此外,删除或更新作为缓存列表一部分的实体时,缓存策略的最佳模式是什么?

我应该从缓存中删除所有列表还是只从缓存列表中删除项目?
如果我更新它,我将从缓存中删除列表或更新其中的实体。

最佳答案

对两者进行了一些测试后,我在我们的代码上下文中对缓存应用程序块进行了全面审查,并在博客中记录了我的经验。它使用起来非常简单,而且功能强大,足以满足我们的需求。我会推荐它,my results were blogged here .

在您的职位上,我将使用存储库模式来维护我的缓存,它适用于数据库数据集,并且应该同样适用于您自己的缓存。如果您不熟悉存储库模式,check out this post from Steven Walther. .然而,我倾向于不同意之前的答案,只取出你需要修改的项目,其余的不受影响。如果您愿意,这将允许您从整个列表中独立地使缓存中的项目过期。

关于asp.net-mvc - 如何使用 linq2sql 存储库在我的 Asp.net Mvc 中实现缓存策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/199138/

相关文章:

c# - select r.Field 和 select new {r.Field} 的区别

c# - 在linq中对字符串列求和

php - 在不使用序列化的情况下在 PHP 中缓存对象

jquery - ASP.NET MVC : The best way to return type to a AjaxRequest?

asp.net - 无法发送带有加号的电子邮件(来自 System.Net.Mail 的 SmtpClient.Send() 方法)

c# - 你调用的对象是空的。在 MVC 布局中 = null

asp.net-mvc - NHibernate 缓存问题 - 何时调用 Evict?

javascript - MVC5 Controller 未接收ajax发布的html内容

c# - 从 SQL Server 中转换一个 tiny int

html - 浏览器是否缓存 CSS 背景图像?