C# Asp.net缓存或手动缓存

C# Asp.net缓存或手动缓存,c#,asp.net,caching,C#,Asp.net,Caching,我将把其他网站的一些RSS数据缓存到我的服务器上,并每10分钟更新一次缓存。 我应该使用Asp.net system.web.caching还是数据库或文件中的缓存 注:当用户在我的客户端应用程序上请求提要时,我的服务器会从服务器上下载它。在接下来的10分钟内,如果其他用户请求该提要,我的服务器将从缓存中加载它。 可能有超过100个源…使用自定义数据库缓存的原因是: 更多关于缓存过期方式和时间的控制 数据太多(超过10Mg)* 需要保存太长时间(天或月)* 访问代码隐藏上的缓存数据(出于任何原因

我将把其他网站的一些RSS数据缓存到我的服务器上,并每10分钟更新一次缓存。 我应该使用Asp.net system.web.caching还是数据库或文件中的缓存

注:当用户在我的客户端应用程序上请求提要时,我的服务器会从服务器上下载它。在接下来的10分钟内,如果其他用户请求该提要,我的服务器将从缓存中加载它。
可能有超过100个源…

使用自定义数据库缓存的原因是:

  • 更多关于缓存过期方式和时间的控制
  • 数据太多(超过10Mg)*
  • 需要保存太长时间(天或月)*
  • 访问代码隐藏上的缓存数据(出于任何原因)
  • 在您的情况下,您只需要很快使其过期,我认为数据很小(小于10Mg),您可以将其保留10分钟,因此请使用asp.net缓存,该缓存速度更快,因为它位于iis的核心,并且可以在不访问代码的情况下进行重放


    [*]我这么说是因为asp.net缓存保留在内存中,但您的自定义缓存保存在数据库中,因此可以在那里停留更长的时间,而且可能会很大。

    多少兆字节的数据适合asp.net缓存?(最大值)@Mahdi这取决于您对池内存限制的设置。我认为游泳池设置了这个限制。当您在缓存中设置数据时,数据并不总是进入真实内存,它们可以保存在池的虚拟内存中,也就是说,可以传输到磁盘。@Mahdi如果您将许多数据放置在asp.net缓存中,您开始看到(使用process explorer)池的已用内存开始增长:)如果经过几分钟/几小时的工作后其稳定(不再增长),然后一切都好了…如何确定共享主机服务器上的asp.net缓存使用了多少内存?(因为它是共享主机,我看不到任务管理器)你说要从代码隐藏中访问缓存,我必须使用数据库,但我问的是system.Web.caching.cache,它可以从代码隐藏中访问。。。