首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asp.net mvc 4缓存与实体框架6缓存

asp.net mvc 4缓存与实体框架6缓存
EN

Stack Overflow用户
提问于 2014-02-12 16:55:14
回答 1查看 1.2K关注 0票数 1

我和一个朋友正在用ASP.NET MVC 4EntityFramework 6开发一个web应用程序。我们实现了存储库模式,当然,每次用户请求访问数据库中的数据时,都会初始化和删除实体框架上下文,因此不会利用缓存系统实体框架第一级。

我想在实体框架中实现第二级缓存,但是他告诉我们没有必要,我们可以使用ASP.NET缓存。我的问题是,

何时使用每种类型的缓存?

彼此有多快?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-12 17:40:07

何时使用每种类型的缓存?

除了编写您自己的EF提供程序之外,还有其他性能改进模式,为了实现二级缓存,您必须这样做。我的建议(仅此而已,建议)是永远不要实现EF二级缓存。

获得正确的缓存是非常困难的,特别是缓存失效。

如果您的最终目标是快速交付网页,asp.net缓存(或OutputCache)就是实现这一目标的方法之一。但是,您必须选择何时使缓存失效,这同样很困难。

彼此有多快?

缓存通常将数据存储在RAM中,因为这是获取物理数据的最快方法。然而,最终速度将取决于。您使用的是哪个缓存提供程序?您的部署负载平衡吗?如果是,它们是否共享相同的缓存?他们怎么进入它的?当您处理web时,您必须考虑到数据将通过网络进行处理,因此所有这些延迟问题也会起到一定的作用(负载/大小、跳数等)。

如果性能确实是个问题,您可能需要研究使用redis或其他nosql提供程序之类的工具来存储预先计算过的非规范化数据集的模式,以实现更快的访问。您还可以在EF之外创建数据访问点的定制sql,这些数据访问点会给您带来特殊的性能问题。

我真的不认为你会得到任何其他的答案,没有说“这取决于”的方式或其他方式。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21734390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档