Python中的持久MySQL连接

2 投票
2 回答
3843 浏览
提问于 2025-04-15 16:57

PHP 提供了 mysql_connect() 和 mysql_pconnect() 这两个函数,可以用来创建临时和持久的数据库连接。

在 Python 中有没有类似的功能呢?这个功能将会在 lighttpd 服务器上使用,并且是通过 FastCGI 来运行的。

谢谢!

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连接的地方。:)

撰写回答