【问题标题】:How to optimize transactions costs from testing existence of keys?如何通过测试密钥的存在来优化交易成本?
【发布时间】:2013-01-03 11:12:18
【问题描述】:

我正在使用 Azure 存储 Blob/表/队列设计一个应用程序,处理大量数据。 该应用程序的一个重要方面是如果给定的密钥不存在则将完成工作,确定密钥的存在是一项频繁且密集的任务。

我需要从密钥的存在检查中优化尽可能多的可计费交易。 它可以针对 blob 或表。

我看了这个文档Understanding Windows Azure Storage Billing – Bandwidth, Transactions, and Capacity 好像404错误不仅仅来自匿名请求。

我也在考虑使用 BatchTableOperation 一次检查 100 个键,可能使用替换或合并,并在结果中确定键是否确实存在(没有尝试过,实际上我在写作时得到了这个想法)

欢迎任何好的 hack。

【问题讨论】:

    标签: azure azure-storage azure-table-storage azure-blob-storage


    【解决方案1】:

    你应该使用Windows Azure Caching:

    • 加载缓存中的所有现有键
    • 每次将记录添加到表存储时,也将其添加到缓存中

    完成此操作后,请先让您的应用程序检查缓存。如果该项目不存在,请检查表存储以确保(以涵盖边缘情况)。但在 99% 的情况下,如果该项目已经被处理,则该键将在缓存中可用,并且您不需要查询表存储(这将大大减少表存储的事务)。

    如果不能使用 Windows Azure 缓存,还有其他选择,例如使用 MemoryCache,将所有密钥保存在一个文件中,...

    【讨论】:

    • 我考虑过使用同位缓存。问题是我期望数亿个键,并且我已经需要缓存操作结果。但是我还没有考虑将它们写入文件。
    猜你喜欢
    • 1970-01-01
    • 2015-09-21
    • 2018-06-22
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2012-02-03
    相关资源
    最近更新 更多