我的社交网络越来越大,但很多功能都使用'HttpContex.Current.Cache'类来重用数据,而无需在每个请求上转到数据库。我知道'HttpContext.Current.Cache'是'静态'所以我会遇到多服务器和云结构的问题。我知道有一种方法可以配置SQL Server来使用缓存系统。是否足以处理所有请求或是否还有其他我需要做的事情?
顺便说一下,我必须删除大部分缓存功能,因为它包含一些用户数据......
我在这里问这个问题,因为我在多服务器结构中测试网站,我已经遇到了问题。我必须确保服务器内存A等于服务器内存B并且这样做,我知道我将多服务器结构的所有好处都抛弃了..
答案 0 :(得分:3)
“我必须确保服务器内存A等于服务器内存B”
我不认为这是可以实现的。
您真正想要的是Distributed Cache
机制。常见的选择是:
请注意,HttpContex.Current.Cache
是静态的,每个App-Domain。这意味着,一旦您切换到Distributed Cache
解决方案,您就必须将对HttpContex.Current.Cache
的所有调用更改为新的缓存API。
好消息是,至少Session State
和Output Cache
可以轻松配置为使用新缓存(通常使用web.config
)。