我应该将blob内容缓存到本地HD吗?

时间:2012-05-10 19:00:44

标签: azure-storage

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

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

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

提前致谢!

2 个答案:

答案 0 :(得分:1)

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

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

每种方法都有利弊,但如果你能提供具体的原因,你可能会对点响应做得更好。

答案 1 :(得分:1)

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

另一个选项是Azure云端硬盘。它很快,并允许您在实例之间共享缓存(但只能一次写入)。

埃里克