为什么Django不支持连接池?

5 投票
2 回答
26832 浏览
提问于 2025-04-16 09:07

我在想,为什么Django不支持连接池呢?每次请求都要打开和关闭连接,真是受不了。我试着去解决这个问题,但一直没有找到好的办法。

我尝试使用 mysql_pool,但是失败了:

TypeError: init() takes exactly 1 argument (3 given) 

2 个回答

13

这里有一段讨论,讲的是为什么Django没有把连接池功能加入到核心部分:https://groups.google.com/forum/#!topic/django-developers/NwY9CHM4xpU

总的来说,是因为像pgbouncer这样的第三方应用做得更好。

13

更新:请查看 Django持久数据库连接(这个功能在1.6版本中引入)。

持久连接可以避免每次请求时都要重新建立与数据库的连接,这样可以节省时间和资源。这个功能是通过一个叫做CONN_MAX_AGE的参数来控制的,它定义了连接的最长使用时间。这个参数可以针对每个数据库单独设置。

撰写回答