【发布时间】:2012-12-12 12:12:51
【问题描述】:
我对 AppFabric Cache 的第一印象是它本质上是一个分布式哈希表,与memcached 相同。这种缓存的典型使用模式是不能保证您的数据会在缓存中(旧条目被逐出以为新条目腾出空间),但通常有足够的 RAM。
另一方面,MS 提供了一个Web Session State Provider,它将会话数据存储在 AppFabric 缓存中。这似乎是一种完全不同的使用模式,因为我们现在要求缓存的项目永远不会因为内存压力而被驱逐。为了实现这一点,MS 提供了一种高可用性模式,可以保留所有数据的冗余副本,此外可以禁用驱逐,这反过来又需要我们分配足够的 RAM 以确保缓存永远不会达到容量。
应用程序似乎可能会从使用这两种类型/模式的缓存中受益,但据我所知,AppFabric RAM 不能在集群或主机内内被隔离,因此 Web 会话状态在这种情况下,可能(并且通常会)经历记忆压力。我能看到的唯一解决方案是运行两个 AppFabric Cache 集群,每个模式一个。
以上是否很好地反映了这种情况,还是我缺少一些解决这种情况的配置设置?
【问题讨论】:
标签: asp.net .net memcached appfabric