MVC Rss 聚合器缓存
本文关键字:缓存 Rss MVC | 更新日期: 2023-09-27 18:32:32
我正在构建一个 RSS 聚合器,并向浏览的用户显示提要的最后一个条目,每页大约有 20 个提要。我可以看到,每次任何用户加载页面时,从 20 个提要中的每一个中提取最后一个项目都会很痛苦。所以我在想最好的方法是缓存一天的提要。
缓存是存储在内存中还是磁盘上?我担心缓存这么多项目可能会达到主机上的内存限制并停止池。
这种类型的追逐如何在 MVC 中完成?我知道它类似于WebForms中的Page.Cache.Insert
。我使用System.ServiceModel.Syndication
从提要中获取最后一个条目。
我有一个自定义模型类,其中包含源标题、源地址、项目标题、项目地址和前 200 个字母的内容,因此不会消耗大量内存。
谁能向我解释缓存存储在哪里,在追逐长达一天的一段时间时会伤害我的应用程序吗?谢谢
您必须在控制器中将操作定义为缓存 (MSDN):
[OutputCache(Duration=10, VaryByParam="none")]
public ActionResult Index()
{
return View();
}
数据保存在内存中。您可以在 IIS 配置中管理输出缓存
已经有限制属性:
最大缓存响应大小(以字节为单位) 指定用户模式和内核模式缓存的缓存响应的最大大小。默认值为 262144 字节。此字段仅在服务器级别启用;它在所有其他级别都是只读的。
缓存大小限制(以 MB 为单位) 配置用户模式和内核模式缓存的大小限制。您可以键入大小(以 MB 为单位)或键入 0。如果键入 0,IIS 将使用可用物理内存或虚拟内存的一半,以较少者为准。此字段仅在服务器级别启用;它在所有其他级别都是只读的。