我正在编写可在办公室内部使用的django的简单应用程序。我说可能有1000个人。我没有任何会话处理,用户处理。它只是django中的商店/查看过程。
我明白了什么?
1)django关闭每个请求重新打开数据库连接。 2)mysql具有最大连接数阈值。
我的问题?
1)最大连接数 - >假设10个用户通过桌面浏览器访问我的URL。这是否意味着Django创建了10个独立的连接来处理请求?
2)无论我使用持久性/非持久性,作为程序员,我是否需要注意编码部分?即:我们需要像Django一样的支票吗?
if <Connection is valid>
then
Initiate transaction
请澄清我的问题?如果问题非常基本,请原谅我。
答案 0 :(得分:3)
根据与数据库相关的Django文档,Django在首次进行数据库查询时会打开与数据库的连接。它保持此连接打开并在后续请求中重用它。 Django一旦超过CONN_MAX_AGE定义的最大年龄或者不再可用,就会关闭连接。
CONN_MAX_AGE的默认值为0,保留在每个请求结束时关闭数据库连接的历史行为。对于持久连接,您需要将CONN_MAX_AGE设置为任意正秒数。对于无限制的持久连接,请将其设置为“无”。
因此,回答第一个问题取决于CONN_MAX_AGE标志值的设置。如果它被设置为0,那么对于10个用户中的每个用户都是,它将使用10个不同的连接。
回答第二个问题,我认为我们不需要注意检查有效连接,因为我相信django数据库层可以执行所有操作。
您可以查看以下网址,一切都在那里描述。
Django Persistent DB connections
希望这会对你有所帮助。