我有大約 5,000 條只讀記錄。
通常我將記錄存盤在 Azure blob 中,一個函式將檢索資料,搜索它們,然后將匹配的記錄回傳給最終用戶。
相反,從 Azure blob 中檢索一次資料,將其存盤在靜態變數中,然后搜索它是否高效且安全?
我已經看了又看,但我找不到 (a) 從 Azure blob 重復檢索資料與 (b) 僅將其維護在靜態變數中之間的比較或討論,以及為什么這可能是不可取的。
uj5u.com熱心網友回復:
從 Azure blob 重復檢索資料的問題:
- 每個檢索(讀取)操作都是收費事務,因此您的 Azure 賬單會增加。
- 每個檢索(讀取)操作都是一個可能會失敗的網路呼叫,因此您必須考慮到這一點。此外,它會為您的整個請求程序增加時間。
在靜態變數中維護它的問題:
- 靜態變數會消耗服務器記憶體。
不確定這些檔案有多大,但如果它們不大,那么如果您的 blob 確實是只讀的(即不會更改),我建議將它們存盤在靜態變數中。
uj5u.com熱心網友回復:
這聽起來像是 Cache-Aside 模式用例。按需將資料從資料存盤加載到快取中。這可以提高性能,還有助于保持快取中保存的資料與底層資料存盤中的資料之間的一致性。

https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside
uj5u.com熱心網友回復:
我會同意 Gaurav 的建議。我在 azure 函式中使用了類似的模式。我通常在靜態變數中加載變數并繼續使用它。您應該記住,您的 azure 函式將從容器中運行,并且 azure 函式運行時可以按需加載多個容器。所以請記住對您的靜態變數進行空檢查。考慮到您的 5000 條記錄不是很大(每條記錄幾 Kb),您不會產生很多賬單。性能也會好很多。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/381680.html
