Python中的持久MySQL连接

时间:2009-12-12 23:49:34

标签: python mysql web-services

PHP提供mysql_connect()和mysql_pconnect(),允许创建临时和持久数据库连接。

Python中是否有类似的功能?将使用它的环境是带有FastCGI的lighttpd服务器。

谢谢!

2 个答案:

答案 0 :(得分:5)

如果你正在使用FastCGI,则不需要“持久连接”,因为如果你创建一个连接,它默认是持久的,因为FastCGI python不是基于请求的,而是在不断运行。

这就是FastCGI在python中的工作方式,简而言之:

1. Run startup code
2. Run request function
3. Wait for new request, then goto step 2.   

在PHP / FastCGI中,这是不同的,因为只有PHP引擎一直在加载,而PHP脚本本身是为每个请求执行的。

1. Start PHP Engine
2. Run script
3. Wait for new request, then goto step 2.

所以不同的是,在Python中你可以定义自己的初始化。这就是你建立MySQL连接的地方。 :)

答案 1 :(得分:0)

注意:持久连接会对系统性能产生非常不利的影响。如果您的大量Web服务器进程都持有与数据库服务器的持久连接,则可能会耗尽数据库服务器的连接限制。这是您需要在重型模拟负载下进行测试的区域之一,以确保您不会以100MPH的速度撞到墙壁。