php 连接池 mysql

2022-08-30 20:53:13

我计划使用MYSQL。是否有可用的连接池扩展?或者连接的正常做法是什么?这是在每个地方使用的那个吗...

mysqli_connect("localhost", "xxx", "xxx", "test");

人们只使用普通还是..?PConnect有多好,我应该做些什么设置?mysql_connectpconnectpconnect


答案 1

你曾经使用过吗? 行为非常像两个主要区别。mysql_pconnect()mysql_pconnect()mysql_connect()

首先,在连接时,该函数将首先尝试查找已使用相同的主机、用户名和密码打开的(持久)链接。如果找到一个,将返回它的标识符,而不是打开新连接。

其次,当脚本执行结束时,不会关闭与 SQL 服务器的连接。相反,该链接将保持打开状态以供将来使用(不会关闭 由 建立的链接)。mysql_close()mysql_pconnect()

因此,这种类型的链接称为“持久”

在这里查看


答案 2

在 PHP 5.3 中为 mysqli 扩展引入了持久连接支持。PDO MYSQL 和 ext/mysql 中已经存在支持。持久连接背后的想法是,客户端进程和数据库之间的连接可以由客户端进程重用,而不是多次创建和销毁。这减少了每次需要新连接时创建新连接的开销,因为未使用的连接将被缓存并准备重用。

与mysql扩展不同,mysqli不提供用于打开持久连接的单独函数。要打开持久连接,必须在连接时将 p: 附加到主机名

资料来源:http://www.php.net/manual/en/mysqli.persistconns.php

sample code:
$GLOBALS["mysqli"] = new mysqli('p:localhost', 'username', 'password', 'db_name');

编辑:抱歉被骗了,没有看到其他答案。


推荐