更好的PHP连接方法(活着或即时)

时间:2015-02-15 06:14:18

标签: php mysqli

我使用mysqli函数(原谅我不使用PDO)来连接MySQL数据库。我想知道哪一个是更好的方法?

  1. 在所有类上保持连接活动并关闭php脚本末尾的连接。我的意思是,不要关闭$link直到页脚。
  2. 在每个课程上打开一个新连接,并在完成后立即关闭它们。
  3. 请同时考虑资源和安全性。 谢谢! :)

1 个答案:

答案 0 :(得分:1)

这个问题有多个答案。我认为使PHP开发人员仍无法做出关闭或保持活力的原因, 是其他编程语言中的连接池概念(有详细记录)。例如JDBC驱动程序,不关心池本身,但是其他一些包装库,处理它并创建池。 池化意味着保持合理的连接有效,并将其用于新的查询请求。如果所有活动连接都忙,请启动一个新连接,也不要关闭它,因为它听起来是应用程序所在。

根据此(http://www.percona.com/blog/2006/11/12/are-php-persistent-connections-evil/),默认情况下mysqli连接不是保持活动状态。 一旦查询完成,它就会被mysql本身关闭(等待一段时间之后)。 尽管如此,等待保持活动的默认时间在mysql中大约是8小时,也是可配置的。

我的结论是:保持一些连接打开并重用它们不仅无害,而且建议使用它。但是应该处理像会话范围变量这样的东西,并且还有一个建议是:最好找到一个uptodate包装器或api来处理池而不是让你的手油腻。