我正在使用Azure存储Blob /表/队列设计应用程序,处理大量数据。 该应用程序的一个重要方面是,如果给定密钥不存在,工作将完成,并且确定密钥的存在是一项频繁且密集的任务。
我需要根据密钥的存在检查来优化尽可能多的可计费交易。 它可以是对抗blob或表。
我查看了这个文档Understanding Windows Azure Storage Billing – Bandwidth, Transactions, and Capacity似乎只有匿名请求才会计算404错误。
我还在考虑使用BatchTableOperation一次检查100个密钥,可能使用Replace或Merge,并在结果中确定密钥是否确实存在(未尝试过,实际上我在写作时得到了这个想法)< / p>
欢迎任何好的黑客。
答案 0 :(得分:0)
您应该使用Windows Azure Caching:
完成后,请先让应用程序检查缓存。如果该项目不存在,请检查表存储以确保(覆盖边缘情况)。但99%的情况下,如果项目已被处理,密钥将在缓存中可用,您将不需要查询表存储(这将大大减少到表存储的事务)。
如果使用Windows Azure缓存不是一个选项,则有其他选择,例如使用MemoryCache,将所有密钥保存在文件中,...