2014-09-19 39 views
0

目前我正在一个大型门户网站上工作,它显示的所有信息主要是用户特定。现在我们遇到了一些性能问题,必须尽快解决它,因为用户数量保持不变越来越多。我听说过mvc4中的缓存,我想知道它是如何有效的在动态网站像门户和我应该采用什么样的缓存方法。是否有任何适得其反的机会?缓存动态门户

+0

这取决于性能下降的原因。缓存对于这个特定的原因可能不是有效的解决方案。所以你需要确定哪个请求需要更多的时间和原因。只有这样才能说缓存是否是解决问题的方法。 – Priyank 2014-09-19 10:49:50

+0

我相信有足够的关于ASP.NET缓存的文档以及如何以及何时在MSDN中使用它... – 2014-09-19 11:34:12

回答

1

一般理解缓存是有关使资源更接近消费者

为了选择使用什么缓存方法,你应该分析自己的门户网站潜在的瓶颈是很重要的。例如,如果您的瓶颈是远程数据库 - 您可以使用与您的门户(嵌入式数据库/内存存储/键值存储等)在同一台计算机上运行的一些本地数据库,或者使用会话请缓存一些用户数据 - 在这种情况下,资源消费者就是您的MVC应用程序。

在我们的一个项目中,我们遇到了类似的问题,您在描述您的问题。在这种情况下,瓶颈是远程数据库,所以我们使用Redis DB实现了SessionState提供程序(因为负载平衡器,我们无法使用默认会话提供程序),它为我们解决了问题。

可以执行另一缓存以使数据更接近最终用户 - 在这种情况下,您可以使用MVC OutputCache,以便您可以将客户端,服务器端,代理或所有这些数据缓存在一起。

我从自己的错误中学到的东西是 - 不要试图解决尚不存在的问题 - 您现在可以花一个月的时间尝试实施一些复杂的缓存解决方案,性能数据库与远程数据库同步......但在此特定应用程序级别上不会有任何性能问题。

如果您的应用程序体系结构正确,它将允许您稍后添加缓存而不会有任何重大影响。所以我建议你把你的资源花在正确的应用程序设计和实现上。