django与mysql有什么'最大连接数'?

时间:2013-10-11 11:51:32

标签: python mysql django django-models mysql-python

我正在编写可在办公室内部使用的django的简单应用程序。我说可能有1000个人。我没有任何会话处理,用户处理。它只是django中的商店/查看过程。

我明白了什么?

1)django关闭每个请求重新打开数据库连接。 2)mysql具有最大连接数阈值。

我的问题?

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

2)无论我使用持久性/非持久性,作为程序员,我是否需要注意编码部分?即:我们需要像Django一样的支票吗?

if <Connection is valid>  
then 
    Initiate transaction

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

1 个答案:

答案 0 :(得分:3)

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

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

因此,回答第一个问题取决于CONN_MAX_AGE标志值的设置。如果它被设置为0,那么对于10个用户中的每个用户都是,它将使用10个不同的连接。

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

您可以查看以下网址,一切都在那里描述。

Django Databases

Django Persistent DB connections

希望这会对你有所帮助。