温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使PHP与MySQL数据库进行持久连接的方法

发布时间:2020-09-29 16:27:53 来源:亿速云 阅读:200 作者:小新 栏目:编程语言

这篇文章主要介绍使PHP与MySQL数据库进行持久连接的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

数据库持久连接:

1.持久的数据库连接是指在脚本结束运行时不关闭的连接。当收到一个持久连接的请求时。PHP 将检查是否已经存在一个(前面已经开启的)相同的持久连接。如果存在,将直接使用这个连接;如果不存在,则建立一个新的连接。所谓“相同”的连接是指用相同的用户名和密码到相同主机的连接。

相关教程:mysql视频教程

2.第一种方法是将 PHP 用作一个单独运行的语言解释器(CGI Wapper)。在这种情况下,使用持久连接和非持久连接没有任何区别——因为PHP脚本本身的执行不是持久的。

3.把 PHP 用作多进程 web 服务器的一个模块,这种方法目前只适用于 Apache,相同的客户端第二次向服务端提出请求时,它将有可能被一个不同的子进程来处理。在开启了一个持久连接后,所有请求 SQL 服务的后继页面都能够重用这个已经建立的 SQL Server 连接。

4.在持久连接中使用数据表锁时,如果脚本不管什么原因无法释放该数据表锁,其随后使用相同连接的脚本将会被持久的阻塞,使得需要重新启动 httpd 服务或者数据库服务。

5.使用事务处理时,如果脚本在事务阻塞产生前结束,则该阻塞也会影响到使用相同连接的下一个脚本

6.程序使用持久连接(PDO::ATTR_PERSISTENT)访问数据库,则一个PHP-FPM工作进程对应一个到MySQL的长连接.

请求结束后,PHP不会释放到MySQL的连接,以便下次重用,这个过程对程序是透明的.

这可以看作是PHP-FPM维护的"数据库连接池".

7.非但不能节约MySQL资源,反而会加剧数据库的负荷。

PDO持久化连接:

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
    PDO::ATTR_PERSISTENT => true
));

证明:

使PHP与MySQL数据库进行持久连接的方法

使PHP与MySQL数据库进行持久连接的方法

以上是使PHP与MySQL数据库进行持久连接的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI