0

我对 AppFabric Cache 的第一印象是,它本质上是一个与memcached相同的分布式哈希表。这种缓存的典型使用模式是不能保证您的数据将在缓存中(旧条目被逐出以为新条目腾出空间),但通常有足够的 RAM。

另一方面,MS 提供了一个Web 会话状态提供程序,它将会话数据存储在 AppFabric 缓存中。这似乎是一种完全不同的使用模式,因为我们现在要求缓存的项目永远不会因为内存压力而被驱逐。为了实现这一点,MS 提供了一种高可用性模式,可以保留所有数据的冗余副本,此外可以禁用驱逐,这反过来又需要我们分配足够的 RAM 以确保缓存永远不会达到容量。

应用程序似乎很可能会从使用两种类型/模式的缓存中受益,但据我所知,AppFabric RAM 不能集群或主机中被隔离,因此 Web 会话状态可能(并且通常会)在那个案子。我能看到的唯一解决方案是运行两个 AppFabric Cache 集群,每个模式一个。

以上是否很好地代表了这种情况,还是我错过了一些解决这种情况的配置设置?

4

1 回答 1

1

在 appfabric 中存储会话不是一个好主意,尝试这样做时遇到了很多问题(例如由于内存压力数据丢失,多个用户访问缓存以放置数据可能导致数据丢失等),现在开始使用 inProc/ SqlServer 会话状态使用。

于 2012-12-19T06:23:07.150 回答