簡體   English   中英

Django大變量存儲

[英]Django large variable storage

場景:我有一個Networkx網絡,它具有大約120.000個邊緣,每次用戶請求頁面或單擊頁面上的某些內容時,都需要查詢該網絡,因此會有很多呼叫。

我可以加載和解析每個呼叫的網絡,但這會浪費時間,因為每次都需要4秒鍾左右(不包括查詢)。

我希望可以將此網絡對象(靜態)存儲在全局某個位置,並在需要時查詢它,但是我找不到一種簡單的方法。 將所有邊緣都放在數據庫中不是一個選擇,因為它不會消除解析所需的時間。

您可以簡單地將其安裝為全局變量。 調用將其加載到模塊級上下文中的函數,並在需要時import該模塊(或使用在首次訪問時加載該模塊的單例模式,但這基本上是相同的)。

如果希望即時更改內容,則永遠不要在Web應用程序中使用全局變量,但是對於靜態內容,它們沒有任何問題。

請注意,如果將導入放入函數中,則該導入將在該函數運行時首次運行,這意味着有人在重新啟動后首次訪問特定服務器時,他們將必須等待數據裝載。 如果您改為將導入放置在模塊級上下文中,以便在應用程序啟動時加載它,那么您的應用程序將首先花費四秒鍾(或其他時間)才能開始。 您必須選擇這兩個性能命中之一-后者對用戶可能更友善。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM