php连接mysql时是否有保持连接的办法

新人不太懂php和mysql.在进行使用的时候,有个困惑.就是我使用php连接数据库的话,代码写在一个php文件里面.开始和结尾肯定都放上连接与断开数据库.但是我有个疑问... 新人不太懂php和mysql.在进行使用的时候,有个困惑.就是我使用php连接数据库的话,代码写在一个php文件里面.开始和结尾肯定都放上连接与断开数据库.但是我有个疑问.就是这个网页如果不断的调用,那么等于是不断的连接又断开.这样是不是非常没效率,又浪费资源?有没有方法,保持数据库的连接.然后这个页面进行频繁调用结束后,再断开连接呢?求指点. 展开
 我来答
uowangshi
2014-01-02 · TA获得超过440个赞
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:506万
展开全部
mysql_pconnect() 和 mysql_connect() 非常相似,但有两个主要区别:
当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接。
其次,当脚本执行完毕后到 SQL 服务器的连接不会被关闭,此连接将保持打开以备以后使用(mysql_close() 不会关闭由 mysql_pconnect() 建立的连接)。
天街夜雨
推荐于2018-05-17 · TA获得超过641个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:659万
展开全部
如果想持久连接. 可以使用 mysql_pconnect()
持久连接确实比每次都连接效率要高
但有个局限性. 一般数据库服务器的并发连接数是有限制的.
在持久连接模式下, 每个php进程, 都单独保持一个数据库连接,
如果数据库连接限制为 16 , 当有第17个连接请求来的时候,就会出现无法处理的情况

非持久连接的特性使的连接资源及时释放,就可以大大的避免连接数的问题(当然在高并发情况下 , 还是有可能发生的)
非持久连接的效率问题... 可以通过增加高速缓存层解决 (针对一些时效性要求不太高的情况)
缓存的增加, 能极大的减少数据库访问.

总结: 持久连接虽然效率高, 但会存在局限性. 同时维护也比较麻烦.
非持久连接效率低些, 但可以通过缓存解决.而且维护成本很低,
ps: 目前的大多数开源系统都是使用非持久连接.
追问
前辈能不能再指点下,高速缓存是个什么概念?是php里面可以定义的?还是在其它地方定义的?求指点.
追答
缓存层就是把数据存放在文件或内存中 .
(读内存比读硬盘要快的多,高速缓存就是这个道理 , 至于文件缓存, 也比数据库来的快)
可以通过一些软件(memcache , apc , redis,mongoDB等)
来存放数据库查询出来的结果.
这样下次用的时候,
就可以从缓存里获取,
从而减少数据库的访问 以提高效率.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woailuo帅
2014-01-02 · TA获得超过823个赞
知道小有建树答主
回答量:1354
采纳率:40%
帮助的人:592万
展开全部
你的频繁调用是在1秒内的上千万次操作吗?如果不是就不算频繁。(仅仅打个比方)
一般数据库都会有连接限制的,
而你查找的时候和上传文件的时候所用的并不是同一个连接。留着也没用,不如关了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式