首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MVC3数据缓存技术

MVC3数据缓存技术
EN

Stack Overflow用户
提问于 2011-12-13 15:04:43
回答 3查看 6K关注 0票数 6

我有一个sql查询(存储过程),它需要大约8-10秒的时间才能返回结果,然后在webgrid中显示结果。在asp.net-mvc3中,关于缓存的最佳实践是什么,这样用户就不必每次加载数据时都要花费8-10秒的时间(更少地优化查询)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-13 15:06:06

您可以使用MemoryCache类将此查询的结果存储在某个键下。关键字可以是查询条件的散列(如果您有这样的条件)。这里是关于如何使用它的MSDN上的some guides

实现缓存时,请记住,默认情况下,此缓存存储在内存中。这意味着,如果您在web场中运行此应用程序,使用分布式缓存可能会更有趣,这样场中的所有节点都可以共享相同的缓存数据。这可以通过使用某种分布式缓存解决方案扩展ObjectCache类来实现。例如,memcached是一个很流行的版本,它有.NET provider。另一种分布式缓存解决方案是AppFabric

票数 11
EN

Stack Overflow用户

发布于 2011-12-13 15:13:40

它正在缓存这个操作。

代码语言:javascript
运行
复制
[OutputCache(Duration = 300)]
public ActionResult Action(){

//some operation

return View()
}
票数 3
EN

Stack Overflow用户

发布于 2011-12-13 17:14:35

这个存储过程背后的底层数据多长时间更改一次?如果相对较少,您可以使用非常好的特性- SqlCacheDependency

http://msdn.microsoft.com/en-us/library/ms178604.aspx

这样,您的繁重的SP将仅在需要时被调用,并且结果将被缓存尽可能长的时间。

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

https://stackoverflow.com/questions/8485509

复制
相关文章

相似问题

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