php持久化连接和非持久化连接的区别

如题所述

php红连接mysql的 函数为 mysql_connect() 和 mysql_pconnect()

    mysql_connect()  非持久化连接

    mysql_pconnect() 持久化连接

两者区别:

简单的来说mysql_pconnect是用来在php与mysql间建立一条持续连接, 一般php的执行模式是脚本开始执行时初始化所有资源, 脚本运行结束后释放所有资源. 而mysql_pconnect的方式则不这样, mysql_connect每次都是重新通过tcp 或者unix domian socket跟sql服务器建立关系, 每次握手都是要消耗不少服务器资源的.


使用pconnect时, 有请求连接mysql时, php会检查是否之前有条相同的连接(以相同的用户名密码连接到同一个mysql服务器)已经建立, 如果有的话就直接使用这条连接。


mysql_connect与mysql_pconnect不会带来功能的差异, 只有性能上的差别.  

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-28
用 http的内容来类比。

场景:去请求两个图片
持久化连接:建立一个tcp连接,发送两个请求并接收,关闭连接。
非持久化连接:建立一个tcp连接,发送一个请求,接收到第一张图片,关闭连接。再建立一个tcp连接,发送一个请求,接收到第二张图片,关闭连接。本回答被提问者和网友采纳
相似回答