我有一个越来越大的社交网络,但很多功能都在使用“HttpContex.Current.Cache”类来重新利用数据,而无需在每次请求时都访问数据库。我知道“HttpContext.Current.Cache”是“静态的”,所以我会遇到多服务器和云结构的问题。我知道还有一种方法可以将 SQL Server 配置为也使用缓存系统。是否足以处理所有请求,还是我还需要做其他事情?
顺便说一句,我将不得不删除大部分缓存功能,因为它保存了一些用户数据...
我在这里问这种问题,因为我在多服务器结构中测试网站,我已经遇到问题了。我必须确保服务器内存 A 等于服务器内存 B 并这样做,我知道我是否放弃了多服务器结构的所有好处..
最佳答案
"I have to make sure Server memory A is equal to Server memory B"
我不认为这是可以通过任何方式实现的。
你真正想要的是一个Distributed Cache
机制。常见的选项是:
不过请记住,HttpContex.Current.Cache
是静态的,并且针对每个应用程序域。这意味着一旦您切换到 分布式缓存
解决方案,您必须将对 HttpContex.Current.Cache
的所有调用更改为新的缓存 API。
好消息是,至少可以轻松配置 Session State
和 Output Cache
以使用新缓存(使用 web.config
通常)。
关于C# .NET 多服务器或云结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16529805/