【问题标题】:Asp.net cache or manual cachingAsp.net 缓存或手动缓存
【发布时间】:2012-06-05 11:29:41
【问题描述】:

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

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

【问题讨论】:

    标签: c# asp.net caching


    【解决方案1】:

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

    1. 更多地控制缓存过期的方式和时间
    2. 数据过多(超过10Mg)*
    3. 需要将它们保存太多时间(几天或几个月)*
    4. 访问代码背后的缓存数据(出于任何原因)

    在您的情况下,您只需要尽快将其过期,我认为数据很小(小于 10Mg)并且您将其保留 10 分钟,因此请使用更快的 asp.net 缓存,因为它位于核心中的 iis,并在完全不转到您的代码的情况下重播。

    [*] 我这么说是因为asp.net的缓存是保存在内存中的,而你的自定义缓存是保存在数据库中的,所以可以在里面保存更长的时间,而且可以很大。

    【讨论】:

    • 多少兆字节的数据适合 Asp.net 缓存? (最多)
    • @Mahdi 这取决于您设置的池内存限制。我认为游泳池设置了这个限制。当你在缓存中设置的数据并不总是进入真实内存时,它们可以保存在池的虚拟内存中,我的意思是转移到磁盘上。
    • @Mahdi 如果您将许多数据放在 asp.net 缓存上,您开始看到(使用进程资源管理器)池的已用内存开始增长 :) 如果它稳定(不再增长)之后工作几分钟/几小时,然后一切正常......
    • 如何确定共享主机服务器上的asp.net缓存使用了多少内存? (因为是共享主机,所以看不到任务管理器)
    • 你说要从后面的代码访问缓存,我​​必须使用数据库,但我问的是 system.Web.caching.cache ,它可以从后面的代码访问......
    猜你喜欢
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 2011-09-09
    • 2010-11-10
    相关资源
    最近更新 更多