长连接不是用mysql_pconnect?
php
$conn?=?mysql_pconnect("localhost","root","")?or?die("Error.");
echo?"MySQL线程号:".?MySQL_thread_id($conn).?"br?/";
echo?"Apache进程号".?getmypid();
如果操作这个数据的人不多,并你进行长连接的连接资源使用很频繁的话使用长连接.这样速度比较快.
顾名思义,长连接就是一直连接从未断开.你应该清楚数据库连接有的是限定连接个数的.你一直连接就占用了一个连接资源.如果连接这个数据库的人不多的话,这样没问题,还能加快速度,你每次操作数据库的时候不用在进行连接操作.这样会加快效率.
如果这个数据库使用的人比较多的话,最好使用短链接,这样用完就释放.不会一直占着连接资源.导致其他人想用都连接不上.
需要关闭数据库的.如果是一个长连接的话,你的网站加入并发请求数很多,也就是说同时有很多人来访问你的网站,并且每个访问者都需要查询一次mysql数据库的话,会很快把你的系统资源消耗完了.短链接就没有这个问题,每次查询完就马上关闭了,这样不容易消耗过多的系统资源.但是长连接也有个好处就是,频繁查询的时候,可以节省了多次建立TCP连接的时间.
使用socket_create()方法创建一个socket对象,但是当当前脚本执行完以后,这个socket就被释放掉了,自然连接也就被关闭了.
可以 用pconnect就行,但是要设置好连接数和过期时间.
长连接避免了每次请求都重新建立连接,理论上是好事儿,欣然用之;后发现nginx偶尔会报如下错误:
双方说的都对,事实却是如此,我试图模拟这种情况的出现,模拟办法:
让接口输出响应码后,直接杀死fpm进程,nginx果然报出了几乎一样的错误;但是实际场景中,没有发现fpm猝死的任何蛛丝马迹,也找不到fpm会在响应头输出之后就猝死的理由;
所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需?要双方发检测包以维持此连接.短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对?CMPP消息的发送. ?现阶段,要求ISMG之间必须采用长连接的通信方式,建议SP与ISMG之间采用长连接的通信方式.
短连接:比如http的,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接.长连接:有些服务需要长时间连接到服务器,比如CMPP,一般需要自己做在线维持.
以上就是土嘎嘎小编为大家整理的php数据库长连接相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!