3

我有一个使用OutputCache属性来缓存页面的网站。效果很好。

现在,我正在研发扩大这个网站以成为一个网络农场。除了 webfarm 痛苦的常见嫌疑人......我已经注意到(很快/很明显)来自 Server_A 的 OutputCache 不会使来自 Server_B 的 OutputCache 无效 .. 如果尝试使单个服务器的 OutputCache 无效。这完全有道理-> S_A 如何“告诉” S_B 当它们在物理上是 2 台单独的机器等时无效?

那么 - 我们的选择是什么?

速度?我知道这会将缓存移动到不同的层..这意味着始终需要确定最终结果(输出)..而不是记住最终输出内容的 OutputCache(是的,varby 提供不同的版本,等等..这完全没问题)。因此,即使 poco 或业务对象都已同步,仍然需要最后的渲染工作(即使它很小……与生成/同步业务对象的工作相比)。

所以是的..不确定这里的选项以及其他人做什么?

4

2 回答 2

2

正如您在上面所说,开箱即用的 ASP.NET 输出缓存在每台服务器上工作。但是在 ASP.NET 4.0 中,整个缓存基础结构都是可插拔的。ScottGu有一篇关于利用此进行输出缓存的博文。我已经编写了一些使用 Velocity/AppFabric 作为缓存引擎的演示代码,它应该可以满足您的需求 - 请在此处查看我的博客。

于 2010-05-03T08:34:37.117 回答
0

看看memcached

什么是内存缓存?
免费和开源、高性能、分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态 Web 应用程序。

来自维基百科

该系统被几个非常大的知名网站使用,包括 YouTube[2]、LiveJournal、Wikipedia/Wikimedia、Amazon.com、Wikia、SourceForge、Metacafe、Facebook[3][4]、Twitter[5]、Fotolog、海盗湾[6] 和 Netlog.[7]

.NET 客户端在这里

不幸的是,它不适用于 Windows。它可以安装,但最好的集成是与 linux。

于 2010-05-03T02:32:36.503 回答