2

オフィス内で内部的に使用できるdjangoの簡単なアプリケーションを書いています。おそらく1000人と言われています。セッション処理、ユーザー処理はありません。これは、django の単なるストア/ビュー プロセスです。

私は何を理解しましたか?

1) django は、リクエストごとにデータベース接続を閉じます。2) mysql には、作成する接続の最大数のしきい値があります。

私の質問?

1) 接続の最大数 -> 10 人のユーザーがデスクトップ ブラウザから私の URL にアクセスしているとします。Django は request を処理するために 10 個の独立した接続を作成するということですか?

2) 永続的/非永続的を使用するものは何でも、プログラマーとしてコーディング部分で注意する必要がありますか?. つまり、Django のようなチェックは必要ですか?

if <Connection is valid>  
then 
    Initiate transaction

私の質問を明確にしてください。質問が非常に基本的なものである場合はご容赦ください。

4

1 に答える 1

6

データベースに関連する Django のドキュメントによると、Django は最初にデータベース クエリを実行するときにデータベースへの接続を開きます。この接続を開いたままにして、後続のリクエストで再利用します。Django は、接続が CONN_MAX_AGE で定義された最大期間を超えるか、使用できなくなったときに接続を閉じます。

CONN_MAX_AGE のデフォルト値は 0 で、各要求の終了時にデータベース接続を閉じるという履歴動作が維持されます。永続的な接続の場合、CONN_MAX_AGE を任意の正の秒数に設定する必要があります。無制限の永続的な接続の場合は、[なし] に設定します。

したがって、最初の質問への回答は、CONN_MAX_AGE フラグ値の設定によって異なります。0 に設定すると、10 人のユーザーごとに 10 の異なる接続が使用されます。

2 番目の質問への回答として、有効な接続をチェックする必要はないと思います。なぜなら、Django データベース層がすべてを実行すると信じているからです。

以下の URL に目を通すことができます。そこにすべてが説明されています。

Django データベース

Django 永続的 DB 接続

これがあなたを助けることを願っています。

于 2013-10-11T12:14:02.610 に答える