首页
文档
问答
捐赠
源代码
商业产品
Swoole Tracker
Swoole Plus
Swoole Compiler
Swoole 微课程
商业合作
登录
注册
EN
全部
提问
分享
讨论
建议
公告
开发框架
发表新帖
若有连接对象出现异常不可重用,开发者需要调用 $pool->put(null); 归还一个空连接以保证连接池的数量平衡,要怎么理解
xilin693
去年
### 问题描述 看文档上说,如果异常不可以需要调用put(null),意思是如果我捕获PDOException时就需要put(null)吗?如果没调用put(null)会导致什么问题呢?是否只能导致连接池少了一个连接,这应该是影响不大吧 我看https://github.com/simple-swoole/db 这个例子的代码中的close方法,调用put时也没有判断$this->pdo是否可用啊 ### Swoole版本,PHP版本,以及操作系统版本信息 php7.2 , swoole 4.5
评论
2020-12-15
鲁飞
不保证连接池数量平衡的话,如果连接都不可用,那用连接池还有什么意义呢 simps的db修改了,需要用户自行捕获pdo异常来release null BaseRedis中有处理 https://github.com/simple-swoole/db/blob/master/src/BaseRedis.php
点赞
0
回复
2020-12-15
xilin693
回复
鲁飞
好的,谢谢
点赞
0
回复
2020-12-15
xilin693
回复
鲁飞
想了解下put(null)的作用是使得连接池减少一个连接吗?
点赞
0
回复
2020-12-15
鲁飞
回复
xilin693
https://github.com/swoole/library/blob/master/src/core/ConnectionPool.php#L63
点赞
0
回复
2020-12-15
xilin693
回复
鲁飞
明白了,Thank you
点赞
0
回复