代码之家  ›  专栏  ›  技术社区  ›  DaveDev

是否可以在多个web服务器之间共享HttpRuntime.Cache?

  •  7
  • DaveDev  · 技术社区  · 14 年前

    我们有一个web应用程序,它将所有站点数据存储在 HttpRuntime.Cache .

    我们现在需要在两个负载平衡的web服务器上部署应用程序。

    是否可以使用共享缓存提供程序共享 在两个web服务器之间还是在它们之间复制缓存,以便在两个web服务器上都可以使用相同的缓存?如果是,我能做些什么来解决这个问题?

    4 回复  |  直到 8 年前
        1
  •  7
  •   LukeH    14 年前

    不,不能共享内置的ASP.NET缓存,但可以使用 memcached AppFabric

        2
  •  2
  •   Sergejus    14 年前

    不,不可能。你必须像微软一样使用所谓的分布式缓存 AppFabric Caching 或者非常流行的开源产品 memcached .

        3
  •  1
  •   stevenrcfox    14 年前

    HttpRuntime缓存应该用于来自数据库的静态但经常使用的项,主要目的应该是防止在每个请求上发生数据库命中 ... 所以类似于组合框中的选项或证书配置设置

    有适合不同需求的缓存层,只有两个web服务器表明您还不需要上面的分布式缓存框架。

        4
  •  0
  •   Aliostad    14 年前

    别去那儿。通常,缓存是一个静态对象,只存在于AppDomain中。手动更新这些是一个痛苦的世界,强烈反对。

    您可以使用服务器前面的许多缓存解决方案来实现这种目的。