2013-10-11 31 views
1

我正在寫一個簡單的應用程序,可以在我的辦公室內部使用的django。我說的可能有1000人。我沒有任何會話處理,用戶處理。這只是django中的一個存儲/查看過程。django與MySQL什麼是'最大連接數'?

我的理解是什麼?

1)django關閉重新打開每個請求的數據庫連接。 2)mysql具有最大連接數閾值。

我的問題是?

1)最大連接數 - >假設10個用戶通過他們的桌面瀏覽器訪問我的URL。這是否意味着Django創建了10個獨立的連接來處理請求?

2)無論我使用持久性/非持久性,作爲一名程序員,我是否需要注意編碼部分?即:我們是否需要像Django中的任何檢查?

if <Connection is valid> 
then 
    Initiate transaction 

請您澄清我的問題嗎?如果問題很基本,請原諒我。

+0

對於1,000用戶的應用程序,你不應該擔心這一點。 –

+0

感謝您的回覆,但僅僅是爲了我的理解目的,我在問。好心提醒? – Whoami

回答

1

根據與數據庫相關的Django文檔,Django在首次進行數據庫查詢時打開與數據庫的連接。它保持這個連接打開並在隨後的請求中重用它。一旦Django超過由CONN_MAX_AGE定義的最大年齡或者它不再可用時,它將關閉連接。

CONN_MAX_AGE的默認值爲0,保留了在每個請求結束時關閉數據庫連接的歷史行爲。對於持續連接,您需要將CONN_MAX_AGE設置爲任意正數秒。對於無限持續連接,請將其設置爲無。

因此,對您的第一個問題的回答取決於CONN_MAX_AGE標誌值的設置。如果它被設置爲0,那麼對於10個用戶中的每個用戶來說是肯定的,它將使用10個不同的連接。

對第二個問題的回答,我認爲我們不需要關心檢查有效連接,因爲我相信django數據庫層可以執行所有操作。

您可以查看下面的URL,所有內容都在那裏描述。

Django Databases

Django Persistent DB connections

希望這會幫助你。