比方說,我有一個Django
Web應用程序與兩個用戶。我的Web應用程序具有服務器上存在的全局變量(根據來自外部SQL
數據庫的數據創建的Pandas Dataframe
)。Django - 兩個用戶訪問相同的數據
假設一個用戶進行update
請求到Dataframe
而現在Dataframe
正在更新。當Dataframe
正在更新時,另一個用戶對該數據幀發出get
請求。有沒有辦法「鎖定」Dataframe
,直到用戶1完成並完成用戶2的請求爲止?
編輯:
所以事件的順序應該是:
用戶1作出了更新請求,數據幀被鎖定,用戶2發出GET請求,數據幀完成更新,數據幀被解鎖,用戶2得到他/她的要求。
代碼行將不勝感激!
「我的web應用程序有一個全局變量...」 - 停在那裏。編號 –
全局變量並不總是邪惡的,但你必須意識到它們是如何在多線程應用程序的環境中工作的,你不控制線程 –
@MadWombat 我明白,我應該如何處理這個問題?如果兩個用戶都試圖從外部數據庫收集相同的數據,那麼將其緩存正確有意義? –