【问题标题】:system.web.caching - At what level is the cache maintained?system.web.caching - 缓存维护在什么级别?
【发布时间】:2011-10-10 16:45:55
【问题描述】:

我正在研究在 .net Web 应用程序中实现缓存。基本上......我想缓存一些在每个页面上拉入的数据,但永远不会在数据库上更改。

我的缓存元素是否对每个元素都是唯一的:

  • 会话?
  • 应用程序池?
  • 服务器?

如果是会话,如果成千上万的人访问我的网站并且每个缓存约为 5k,这可能会失控。

如果应用程序池,并且我运行了一个站点的多个实例(例如使用不同的数据库后端,但都在一台服务器上),那么我需要为每个实例使用单独的应用程序池。

任何帮助将不胜感激...我认为这些数据可能已经存在我只是没有正确的谷歌组合来提取它。

【问题讨论】:

    标签: asp.net caching


    【解决方案1】:

    默认情况下,它存储在服务器的内存中。这意味着它将在网站的所有用户之间共享。这也意味着如果您在 Web 场中运行您的站点,则必须使用进程外缓存存储来确保场的所有节点共享相同的缓存。这是 MSDN 上的 article 讨论了这一点。

    【讨论】:

      【解决方案2】:

      “每个应用程序域都会创建一个此类的实例,只要应用程序域保持活动状态,它就会保持有效” - MSDN

      【讨论】:

      • 对于 OP,这意味着您不需要单独的应用程序池。
      猜你喜欢
      • 2010-09-06
      • 2016-11-24
      • 2016-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-02
      • 2017-07-15
      • 2011-04-11
      相关资源
      最近更新 更多