大佬教程收集整理的这篇文章主要介绍了mysql 永久连接mysql_pconnect和mysql_connect,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
转自:nofollow">http://blog.csdn.net/lxzo123/article/details/6590893
<p align="left"><span style="color:#262626;"> <span style="color:#262626;">一直对<span style="color:#262626;">MysqL_pconnect
<span style="color:#262626;">和<span style="color:#262626;">MysqL_connect<span style="color:#262626;">的理解差别是<span style="color:#262626;">p<span style="color:#262626;">链接是持久链接,不会关闭了链接,即使你使用了<span style="color:#262626;">MysqL_close();<span style="color:#262626;">建立连接后,将保持<span style="color:#262626;">sleep<span style="color:#262626;">状态,可以使用<span style="color:#262626;">show
processlist <span style="color:#262626;">查看有哪些正在<span style="color:#262626;">sleep<span style="color:#262626;">的连接,这样<span style="color:#262626;">p<span style="color:#262626;">链接的好处是当有新的请求时就直接返回这个连接,感觉类似于<span style="color:#262626;">http1.1<span style="color:#262626;">协议的<span style="color:#262626;">keep-alive<span style="color:#262626;">的用法,到底是开个还是关呢还是不关呢,一般那些专家都告诉你,当用户量不多时,可以打开<span style="color:#262626;">keep
-live <span style="color:#262626;">这样可以,在<span style="color:#262626;">http<span style="color:#262626;">协议进行打交道时,给用户保持连接。用户第一次打开建立,然后继续浏览时就不需要新开了,提高用户的体验,当用户量比较大的时候,大量的保持连接会给服务器造成很大压力,所以需要找一个平衡点是开到底还是不开,回过头来看<span style="color:#262626;">MysqL_p
<span style="color:#262626;">的理解:在网上搜索了没有找到满意的答案,但是在竟然在手册上看到一个解释的比较完美的,看来以后应该多看手册:
<p align="left"><span style="color:#262626;"> 1<span style="color:#262626;">、定义:
<p align="left"><span style="color:#262626;">
<p align="left"><span style="color:#262626;"> <span style="color:#262626;">永久连接是为通常连接建立一对一的分布而设计的。这意味着必须能够保证在将永久连接替换为非永久连接时,脚本的行为不会改变。使用永久连接将(非常)有可能改变脚本的效率,但不改变其行为!
<p align="left"><span style="color:#262626;"> 3<span style="color:#262626;">、如果永久连接并没有任何附加的功能,那么使用它有什么好处?
<p align="left"><span style="color:#262626;">
<p align="left"><span style="color:#262626;"> <span style="color:#262626;">如果永久连接的子进程数目超过了设定的数据库连接数限制,系统将会产生一些缺陷。如果数据库的同时连接数限制为<span style="color:#262626;"> 16<span style="color:#262626;">,而在繁忙会话的情况下,有<span style="color:#262626;"> 17
<span style="color:#262626;">个线程试图连接,那么有一个线程将无法连接。如果这个时候,在脚本中出现了使得连接无法关闭的错误(例如无限循环),则该数据库的<span style="color:#262626;"> 16
<span style="color:#262626;">个连接将迅速地受到影响。请查阅使用的数据库的文档,以获取关于如何处理已放弃的及闲置的连接的方法。
<p align="left"><span style="color:#262626;"> 5<span style="color:#262626;">、警告:
<p align="left"><span style="color:#262626;">
<p align="left"><span style="color:#262626;"> <span style="color:#262626;">(<span style="color:#262626;">1<span style="color:#262626;">)第一种方法是将<span style="color:#262626;"> php
<span style="color:#262626;">用作一个<span style="color:#262626;">“<span style="color:#262626;">外壳<span style="color:#262626;">”<span style="color:#262626;">。以这种方法运行,<span style="color:#262626;">php
<span style="color:#262626;">会为向<span style="color:#262626;"> web
<span style="color:#262626;">服务器提出的每个<span style="color:#262626;"> php
<span style="color:#262626;">页面请求生成并结束一个<span style="color:#262626;"> php
<span style="color:#262626;">解释器线程。由于该线程会随每个请求的结束而结束,因此任何在这个线程中利用的任何资源(例如指向<span style="color:#262626;"> sql
<span style="color:#262626;">数据库服务器的连接)都会随线程的结束而关闭。在这种情况下,使用永久连接不会获得任何地改变<span style="color:#262626;">――<span style="color:#262626;">因为它们根本不是永久的。
方法是将php 一个插件。目前php 4 支持php netscape FastTrack (iPlanet)4036@ionServer (IIS) 插件。永久连接的行为和前面所描述的多过程模型在本质上是相同的。注意php 3 不支持
以上是大佬教程为你收集整理的mysql 永久连接mysql_pconnect和mysql_connect全部内容,希望文章能够帮你解决mysql 永久连接mysql_pconnect和mysql_connect所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。