0

我正在构建一个 RSS 聚合器并显示从提要到用户浏览的最后一个条目,每页大约 20 个提要。我可以看到,每次任何用户加载页面时,从 20 个提要中的每个提要中提取最后一个项目会很痛苦。所以我在想最好的方法是将提要缓存一天。

缓存是存储在内存中还是磁盘上?我担心缓存这么多项目可能会达到我主机上的内存限制并停止池。

这种类型的 chaching 在 MVC 中是如何完成的?我知道它类似于Page.Cache.InsertWebForms。我System.ServiceModel.Syndication用来从提要中获取最后一个条目。

我有一个自定义模型类,其中包含 Feed Title、Feed Adress、Item title、Item Adress 和前 200 个内容字母,因此不会占用大量内存。

任何人都可以向我解释缓存存储在哪里,并且在长达一天的时间内会伤害我的应用程序吗?谢谢

4

1 回答 1

0

您必须将控制器中的操作定义为缓存(MSDN):

 [OutputCache(Duration=10, VaryByParam="none")]
        public ActionResult Index()
        {
            return View();
        }

数据保存在内存中。您可以在IIS 配置中管理输出缓存

已经有默认限制属性:

最大缓存响应大小(以字节为单位)指定用户模式和内核模式缓存的缓存响应的最大大小。默认值为 262144 字节。该字段仅在服务器级别启用;它在所有其他级别都是只读的。

缓存大小限制(以 MB 为单位)配置用户模式和内核模式缓存的大小限制。您可以键入大小(以 MB 为单位)或键入 0。如果键入 0,IIS 将使用可用物理内存或虚拟内存的一半,以较少者为准。该字段仅在服务器级别启用;它在所有其他级别都是只读的。

于 2012-04-30T05:32:58.787 回答