MVC Rss 聚合器缓存

本文关键字:缓存 Rss MVC | 更新日期: 2023-09-27 18:32:32

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

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

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

我有一个自定义模型类,其中包含源标题、源地址、项目标题、项目地址和前 200 个字母的内容,因此不会消耗大量内存。

谁能向我解释缓存存储在哪里,在追逐长达一天的一段时间时会伤害我的应用程序吗?谢谢

MVC Rss 聚合器缓存

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

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

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

已经有限制属性:

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

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