0

假设我在 blob 存储中有文件,并且这些文件经常被托管在 Windows Azure 中的 Web 应用程序使用。

我是否应该对这些 blob 执行某种缓存,例如将它们下载到我的应用程序的本地硬盘驱动器?

更新:我被要求提供一个案例来说明我为什么要缓存内容,所以就这样吧:假设我有一个电子商务网站,我的产品图片都是高分辨率的。不过,有时我想将它们用作缩略图(例如,用于产品列表),一种可能的解决方案是使用 HTTP 处理程序按需调整图像大小。我知道我可以使用输出缓存,这样图像只需要调整一次大小,但是为了这个例子,让我们考虑一下我会在每次请求图像时处理它。我想将内容缓存在本地会更快。在这种情况下,将其缓存在 HD 上或使用本地存储会更好吗?

提前致谢!

4

2 回答 2

1

刚开始回答您的问题,是的,由于网络延迟,即使计算和 blob 位于同一数据中心,从角色特定的本地存储访问静态内容也会比从 Azure blob 存储访问静态内容更快。

可能有一个解决方案,您可以在启动任务(或后台任务)期间在角色特定的本地存储中从 Azure 存储下载 X 数量的 blob,并通过本地存储引用这些静态内容,但真正的问题是您想要的原因是什么缓存 Azure Blob 存储中的内容?是为了更快的访问还是为了可靠性?如果原因是几乎可以立即访问静态内容,那么我可以考虑将其缓存在本地存储中。

每种方法都有利有弊,但是如果您可以提供具体的原因,那么您可能会得到更好的点响应。

于 2012-05-10T20:46:46.747 回答
1

为什么不使用本地资源?它为您提供了 HD 上文件夹的路径,并且您可以获得大量空间。您甚至可以在重新启动之间保留它。

另一种选择是 Azure 云驱动器。它很快,并且允许您在实例之间共享缓存(但只能一次写入)。

埃里克

于 2012-05-16T00:30:27.147 回答