3

我有一个越来越大的社交网络,但许多功能都在使用“HttpContex.Current.Cache”类来重新利用数据,而无需在每次请求时都访问数据库。我知道“HttpContext.Current.Cache”是“静态的”,所以我会遇到多服务器和云结构的问题。我知道有一种方法可以配置 SQL Server 以使用缓存系统。是否足以处理所有请求还是我必须做的其他事情?

顺便说一句,我将不得不删除大部分缓存功能,因为它包含一些用户数据......

我在这里问这种问题,因为我正在多服务器结构中测试网站,我已经遇到了问题。我必须确保服务器内存 A 等于服务器内存 B 并且这样做,我知道我是否抛弃了多服务器结构的所有好处..

4

1 回答 1

3

“我必须确保服务器内存 A 等于服务器内存 B”

我不认为这是以任何方式可以实现的。

你真正想要的是一种Distributed Cache机制。常见的选项是:

  • AppFabric(Microsoft 的 IIS 官方插件)
  • NCache(基础版免费)
  • Memcached(成熟、流行且被认为非常快)

但请记住,这HttpContex.Current.Cache是静态的,并且是每个 App-Domain 的。这意味着一旦您切换到Distributed Cache解决方案,您将不得不更改HttpContex.Current.Cache对新缓存 API 的所有调用。

Session State好消息是,至少Output Cache可以轻松配置为使用新缓存(web.config通常使用)。

于 2013-05-13T19:47:24.467 回答