首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
若有连接对象出现异常不可重用,开发者需要调用 $pool->put(null); 归还一个空连接以保证连接池的数量平衡,要怎么理解
### 问题描述 看文档上说,如果异常不可以需要调用put(null),意思是如果我捕获PDOException时就需要put(null)吗?如果没调用put(null)会导致什么问题呢?是否只能导致连接池少了一个连接,这应该是影响不大吧 我看https://github.com/simple-swoole/db 这个例子的代码中的close方法,调用put时也没有判断$this->pdo是否可用啊 ### Swoole版本,PHP版本,以及操作系统版本信息 php7.2 , swoole 4.5
发布于5年前 · 0 次浏览 · 来自
提问
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
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
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-16
鲁飞
回复
xilin693
https://github.com/swoole/library/blob/master/src/core/ConnectionPool.php#L63
赞
0
回复
2020-12-16
xilin693
回复
鲁飞
明白了,Thank you
赞
0
回复