为什么Django不支持连接池?
我在想,为什么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的参数来控制的,它定义了连接的最长使用时间。这个参数可以针对每个数据库单独设置。