3

我有一个想要发布到 Azure 网站的简单项目。我需要对一些值进行一些基本的缓存以加快速度。

在这种情况下缓存数据的正确策略是什么?我想只要我保持免费或保留状态,我就可以使用简单的标准网络缓存,因为它是一台机器,但是如果我想使用共享的多个实例会发生什么?分布式缓存真的可用于网站吗?对于简单的缓存,我还有哪些其他选择?

4

2 回答 2

1

据此您似乎无法使用共享/分布式缓存。那改变了吗?你有一个链接说 Azure 支持他们的 2 个网站缓存方案中的任何一个吗?

只要你只有1个实例,你是对的,使用正常的 outputCache 应该没问题。如果您向外扩展至 2 个或更多实例,您可能必须从网站迁移到托管服务才能使用其他 2 种缓存策略中的任何一种。Azure 没有为网站提供与托管服务一样的全套功能。

于 2013-01-09T13:43:44.990 回答
1

这是我的 2 美分,基于 Dan 的回答下的简短讨论。截至 2013 年 7 月,我刚刚将我的网站/Web 应用程序部署到 Azure。这是一种足球(我们的美国朋友的足球:-))预测游戏。它使用缓存的方式在缓存中存储大量 POCO 对象(如匹配列表、玩家列表等)。这不是一个全新的应用程序,我们在本地硬件上运行了 2 个赛季(一个农场中的 2 个服务器,恕我直言有点矫枉过正,SQL db)。现在我们正在以共享模式在单个实例上运行。新一季将于下周开始,如果我们发现单个实例还不够,我们准备扩大规模。

所以我终于要缓存了。我们选择了共享缓存。如何设置它是有据可查的,虽然我个人的感觉是文档跟不上 Azure 发展的速度。

将项目放入和取出共享缓存非常简单,以及如何在 web.config 中配置它。我们不得不付出一些努力来找到一种方法,如何在您需要时从您的应用程序中清除整个缓存 - 据我所知,没有办法枚举已经在缓存中的项目。最后,我们最终得到了一个非常简单的解决方案,每当您将任何内容放入缓存时,您只需将密钥记在一边,当您需要清除整个缓存时,您就可以使用它。

现在,我不得不说我不是为这个 Azure 托管支付账单的人,我没有在 Azure 门户上看到当前的账单,但我显然担心整体价格。我不太清楚的是使用共享缓存的成本。尽管我不完全确定它是否真的适用,但我花了一些时间才找到一些定价表。我无法在 Azure 价格计算器中看到这一点。

回到我在 Dan 的回答下的评论 - 我确实相信有很多开发人员在中小型网站上工作,他们使用标准 HttpCache 作为放置 POCO 对象以加快访问速度的地方。在此类示例中,整体缓存大小可能高达 50 MB(显然取决于您使用缓存的方式)。这样的网站在单个实例上可能没问题,但是嘿 - 2 个或更多实例很糟糕,我希望在需要扩大规模时做好准备。对于这种情况,我缺少关于选择哪种缓存以及成本多少的明确指导。

于 2013-07-11T20:09:29.237 回答