在.net MVC网站上生成50k静态html页面 - 这如何与持续部署一起工作?

时间:2013-02-14 09:24:15

标签: asp.net-mvc asp.net-mvc-3 caching continuous-integration continuous-deployment

情况就是这样。

  1. 我们的网站有大约50,000个“详细信息”页面,每个页面都包含来自我们数据库和API的大量数据。目前这些都是动态的,但数据只需要每天更改,如果是这样的话。我们已启用输出缓存以加快速度。

  2. 我们每天多次从Git部署到Appharbor。如果我错了,请纠正我,但我认为每次我们这样做都会丢失缓存。因此输出缓存并没有完成所有应有的工作。除此之外,我宁愿从一开始就缓存内容,而不是第一个用户点击每一页。

  3. 现在,如果不是因为持续部署问题,我建议在编译期间生成静态html文件以获得最佳性能。但是我觉得每天多次尝试这个过程并不是正确的解决方案。

    我们应该关注哪种缓存策略?

    附带问题:如果我们确实生成了50k个静态html文件,你会将它们作为文件夹结构以某种方式安排在磁盘上,还是将它们存储在数据库或内存中,或者是什么?

1 个答案:

答案 0 :(得分:0)

为什么不使用App Fabric Cache? (我不知道它是否可以通过app harbour获得)

http://www.hanselman.com/blog/InstallingConfiguringAndUsingWindowsServerAppFabricAndTheVelocityMemoryCacheIn10Minutes.aspx

或许您应该考虑实现自己的OutputCache Provider并将结果保存在ravendb或文件系统中:

http://msdn.microsoft.com/en-us/magazine/gg650661.aspx

这样,您可以确保在重新启动应用时不会清除缓存。

编辑:app fabric不可用,但您可以将memcache与此提供商一起使用:https://github.com/enyim/memcached-providers