0

我在設計一個使用Azure存儲Blobs/Table/Queue的應用程序,處理海量數據。 該應用程序的一個重要方面是,如果給定密鑰不存在將會完成,並且確定密鑰的存在是一項頻繁且密集的任務。如何通過測試密鑰的存在來優化交易成本?

我需要從密鑰的存在檢查中儘可能優化可計費事務。 它可能是反對斑點或表。

我看了這個文檔Understanding Windows Azure Storage Billing – Bandwidth, Transactions, and Capacity看來404錯誤不僅僅是從匿名請求中計算的。

我也在考慮使用BatchTableOperation一次檢查100個鍵,也許使用替換或合併,並在結果中確定鍵是否確實存在(還沒有嘗試過,實際上我在寫作時得到了這個想法)

歡迎任何好的破解。在緩存

  • 加載所有現有密鑰
  • 每次一個記錄添加到表存儲,也將其添加到緩存

一旦你:

回答

0

您應該使用Windows Azure Caching這樣做,讓你的應用程序首先檢查緩存。如果物品不存在,請檢查表格存儲以確保(覆蓋邊緣情況)。但99%的時間,如果該項目已經被處理,密鑰將在緩存中可用,並且您不需要查詢表存儲(這將大大減少到表存儲的交易)。

如果使用Windows Azure的緩存是不是一種選擇有替代品,如使用MemoryCache,保存所有鍵在一個文件中,...

+0

我一直在使用協同定位緩存考慮。問題是我期望有數億個密鑰,而且我已經需要緩存操作結果。但是,我沒有考慮將它們寫入文件。 – uzul