3
在Azure隊列上每次讀取/寫入之前,我應該調用CreateIfNotExistsAsync()
嗎?在Azure隊列上調用CreateIfNotExistsAsync()時的性能影響
我知道它會導致REST調用,但它是否在隊列上執行任何IO操作?
我正在使用針對Azure隊列的.Net
庫(如果此信息很重要)。
在Azure隊列上每次讀取/寫入之前,我應該調用CreateIfNotExistsAsync()
嗎?在Azure隊列上調用CreateIfNotExistsAsync()時的性能影響
我知道它會導致REST調用,但它是否在隊列上執行任何IO操作?
我正在使用針對Azure隊列的.Net
庫(如果此信息很重要)。
該方法所做的就是嘗試創建隊列並捕獲AlreadyExists錯誤,您可以通過在嘗試訪問隊列時捕獲404來輕鬆地複製自己。有一定的性能影響。
更重要的是,它會增加你的成本:從Understanding Windows Azure Storage Billing – Bandwidth, Transactions, and Capacity [MSDN]
我們已經看到,執行應用CreateIfNotExist [原文]在隊列中的每個放置消息到該隊列之前。這會導致向存儲系統發出兩個單獨的請求,以便爲隊列中的每條消息創建隊列失敗。 確保只在其生命週期開始時創建Blob容器,表和隊列以避免這些額外的交易成本。