我有一个使用回调API的聊天机器人,每次有人写消息时,该聊天机器人都会在我的服务器上发送一个请求
最近,我已经读过所谓的持久连接,这使我认为,每次在服务器上收到请求时,我都可以避免重新连接到数据库,因为数据库加载需要一些时间,并且我想加快速度过程
因此,我已将脚本中的任何连接更改为具有p:
前缀,例如这样
$conn = new mysqli("p:".$servername, $username, $password, $dbname);
据我所知,mysqli通过这种方式查找具有相同参数的现有连接,或者如果不存在则创建一个连接,而不是每次都打开一个新连接
但是仍然,几个小时后,我检查了打开的连接,我注意到一堆类似的连接,只是它们的ID
不同,就像这样
ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO |
+---------+------+-----------+----------+---------+------+-------+------+
| 5248403 | user | localhost | database | Sleep | 24 | | NULL |
| 5248609 | user | localhost | database | Sleep | 113 | | NULL |
| 5247822 | user | localhost | database | Sleep | 1 | | NULL |
| 5248652 | user | localhost | database | Sleep | 79 | | NULL |
((user
和database
掩盖了实际用户和数据库)
关于持久连接,我是否有误解?如何避免类似的连接?
这可以说用于许多其他的webserver / frameworks,而对于php / mysqli则没有特别说明