2012-10-13 70 views
2

我们正在Windows Azure中运行我们的应用程序。我们遇到了SQL Azure的性能问题,所以我们正在考虑实现二级缓存。使用我们目前使用的ORM是很难完成的。实体框架二级缓存和Windows Azure缓存

实体框架二级缓存怎么样?特别是使用Windows Azure缓存(*)时。我知道它目前不支持,并且有一些包装可用。但是,有没有未来的计划支持这个开箱即用?

(*) 这个想法是使用一定比例的Web角色内存进行缓存。 例如,使用5个中等Web角色和20%内存缓存将意味着3.5 GB的一致缓存。

+0

你underst和你有哪些性能问题?例如,对于Sql Azure,使用预先加载(即.Include)而不是延迟加载很有意义,因为执行一个返回500个实体的查询通常需要更少的时间,而不是每个返回1个实体的500个查询。那里还有一个缓存提供者样本。我前段时间在博客上介绍了如何在CodeFirst中使用它:http://blog.3d-logic.com/2012/03/31/using-tracing-and-caching-provider-wrappers-with-codefirst/希望这会有所帮助。 – Pawel

回答

1

这篇来自Julie Lerman http://msdn.microsoft.com/en-us/magazine/hh394143.aspx的最新文章介绍了如何为EF和Azure cahe设置二级缓存。我们正在考虑做同样的事情,但还没有时间来实际执行它。

至于未来的本地支持,我没有看到在EF6 roadmap提及我不认为。

但是现在它的开源似乎有很多事情发生。也许值得在EF user voice上检查并投票。

Entity Framework extended还允许您控制查询的缓存。