php关于mysql长连接问题
2024-08-27 08:00:24
1、当 函数 mysql_connect 的前三个参数(server
username
password)相同,
mysql_connect 是会返回相同的连接。并且第四个参数(new_link)不传递时候
,重复调用
php代码
<?php
$db = mysql_connect('localhost','root','root');
var_dump($db);
$db2 = mysql_connect('localhost','root','root');
var_dump($db2);
sleep(10);
页面打印信息
resource(3) of type (mysql link) resource(3) of type (mysql link)
mysql连接数
mysql> show full processlist;
+----+------+-----------------+------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------------+------+---------+------+-------+-----------------------+
| 32 | root | localhost:54408 | NULL | Query | 0 | NULL | show full processlist |
| 44 | root | localhost:55278 | NULL | Sleep | 3 | | NULL |
+----+------+-----------------+------+---------+------+-------+-----------------------+
2 rows in set
2、当函数 mysql_connect 传递了第四个参数(
)后,再重复调用它。new_link
php代码
<?php
$db = mysql_connect('localhost','root','root',1);
var_dump($db);
$db2 = mysql_connect('localhost','root','root',1);
var_dump($db2);
sleep(10);
页面打印信息
resource(3) of type (mysql link) resource(5) of type (mysql link)
mysql连接数
mysql> show full processlist;
+----+------+-----------------+------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------------+------+---------+------+-------+-----------------------+
| 32 | root | localhost:54408 | NULL | Query | 0 | NULL | show full processlist |
| 45 | root | localhost:55320 | NULL | Sleep | 4 | | NULL |
| 46 | root | localhost:55321 | NULL | Sleep | 4 | | NULL |
+----+------+-----------------+------+---------+------+-------+-----------------------+
3、mysql_pconnect 持久连接
php代码
<?php
$db = mysql_pconnect('localhost','root','root');
var_dump($db);
$db2 = mysql_pconnect('localhost','root','root');
var_dump($db2);
页面打印信息
resource(3) of type (mysql link persistent) resource(4) of type (mysql link persistent)
mysql连接数
mysql> show full processlist;
+----+------+-----------------+------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------------+------+---------+------+-------+-----------------------+
| 1 | root | localhost:55391 | NULL | Query | 0 | NULL | show full processlist |
| 2 | root | localhost:55393 | NULL | Sleep | 5 | | NULL |
+----+------+-----------------+------+---------+------+-------+-----------------------+
4、mysql_pconnect 加上第四个参数(new_link)即可 建立多个 持久连接
php代码
<?php
$db = mysql_pconnect('localhost','root','root',1);
var_dump($db);
$db2 = mysql_pconnect('localhost','root','root',1);
var_dump($db2);
页面打印信息
resource(3) of type (mysql link persistent) resource(4) of type (mysql link persistent)
mysql连接数
mysql> show full processlist;
+----+------+-----------------+------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------------+------+---------+------+-------+-----------------------+
| 1 | root | localhost:55391 | NULL | Query | 0 | NULL | show full processlist |
| 2 | root | localhost:55393 | NULL | Sleep | 316 | | NULL |
| 3 | root | localhost:55418 | NULL | Sleep | 4 | | NULL |
+----+------+-----------------+------+---------+------+-------+-----------------------+
3 rows in set
5、总结:
函数 mysql_pconnetc 创建的 持久化连接 在php脚本结束后,mysql的连接并不会立即结束。什么时候结束,是由mysql自己管理。函数 mysql_colse 不能关闭 mysql_pconnetc 的连接。
函数 mysql_connetc 创建的 连接 在php脚本结束后,mysql的连接也会相应结束。
最新文章
- Codeforces Round #325 (Div. 2) D bfs
- jquery-easyui-tree异步树
- September 11th 2016 Week 38th Sunday
- [本人开发的游戏] Discuz网页动物园插件1.0Beta发布!让积分流动起来!
- parse_url等函数
- 【bzoj1043】下落的圆盘
- js selector libray
- vim高亮显示
- 在ubuntu14.04上部署hadoop2.6.3
- bzoj 2437 [Noi2011]兔子和鸡蛋 [二分图匹配]
- Handler线程间通信
- .NET MVC页面生命周期及传统ASP.NET页面周期
- error: No curses/termcap library found的解决办法
- Netty的并发编程实践5:不要依赖线程优先级
- html5中让页面缩放的4种方法
- ASP.NET Core中使用自定义MVC过滤器属性的依赖注入
- bean属性复制到另外一个bean
- 【BZOJ2721】樱花(数论)
- SkylineGlobe TerraExplorer for Web 7.1.0版本 接口示例
- OC获取ip地址