django 与 mysql 什么是“最大连接数”?

Who*_*ami 2 python mysql django django-models mysql-python

我正在编写一个简单的应用程序,它可以在我的办公室内部使用。我说大概有 1000 人。我没有任何会话处理,用户处理。它只是 Django 中的一个存储/查看过程。

我明白了什么?

1) django closes 在每次请求时重新打开数据库连接。2) mysql 有一个要建立的最大连接数的阈值。

我的问题?

1) 最大连接数 -> 假设有 10 个用户通过他们的桌面浏览器访问我的 URL。这是否意味着 Django 创建了 10 个独立的连接来处理请求?

2)无论我使用持久性/非持久性,作为程序员,我需要在编码部分小心吗?。即:我们需要像 Django 那样的检查吗?

if <Connection is valid>  
then 
    Initiate transaction
Run Code Online (Sandbox Code Playgroud)

请澄清我的问题?如果问题非常基本,请原谅我。

nik*_*nik 5

根据与数据库相关的 Django 文档,Django 在第一次进行数据库查询时会打开与数据库的连接。它保持此连接打开并在后续请求中重用它。一旦连接超过由 CONN_MAX_AGE 定义的最大年龄或不再可用时,Django 将关闭连接。

CONN_MAX_AGE 的默认值为 0,保留在每次请求结束时关闭数据库连接的历史行为。对于持久连接,您需要将 CONN_MAX_AGE 设置为任何正秒数。对于无限制的持久连接,请将其设置为 None。

所以第一个问题的答案取决于 CONN_MAX_AGE 标志值的设置。如果将其设置为 0,则对于 10 个用户中的每个用户设置为 yes,它将使用 10 个不同的连接。

回答第二个问题,我认为我们不需要注意检查有效连接,因为我相信 django 数据库层会执行所有操作。

您可以查看以下 URL,那里描述了所有内容。

Django 数据库

Django 持久数据库连接

希望这会帮助你。