【发布时间】:2018-02-28 17:34:48
【问题描述】:
我的目标:基本上一直缓存所有页面,这样用户就很少需要点击我的 CMS 来获取内容。
我在 Azure 中部署了一个 c#/.Net MVC 5 Web 应用程序。我还将控制器上的所有OutputCache 设置为 1 周 [604800s](内容很少更改)。我可能天真地假设缓存的输出存储在 Azure 的内存中。但是,当我启动我的应用程序并爬取网站时,我希望 Azure 内存会填满缓存的内容,但实际上,可能内存利用率会有所提高。不过,它会在大约 5 分钟后恢复到大约 60% 利用率的“静止状态”。我也尝试过使用MemoryCache,但它有类似的结果 - 内存使用量增加,不久之后又恢复正常。
在任何情况下,结果都是页面表现得好像它们没有被缓存一样。例如,如果我抓取 1 个页面并访问它 - 它会在大约 1 秒内加载(它已被缓存)。如果我抓取 2000 个页面并访问一个随机页面,它会在 3-4 秒内加载(它没有被缓存)。我已经通过在视图本身中放置一个日期时间来对此进行测试。
所以...底线是:缓存 = 快速,未缓存 = 平均。我希望它快!
我查看了 Redis Cache,这可能是一种实现方式,而且看起来很简单......但我的直觉认为这应该是基本功能(因为它内置在框架中)。
【问题讨论】:
标签: c# asp.net asp.net-mvc azure caching