ConnectionPool

最后更新于:2022-04-02 07:07:37

## Mix\Database\Pool\ConnectionPool::class 通常频繁调用的数据库都会以连接池的方式获取连接,mix 的数据库连接池是基于一个独立的连接池库 [mix/pool](https://github.com/mix-php/pool) 开发的,其大概流程为: - 通过依赖注入获取连接池实例(单例) - 通过连接池获取连接 - 池内无可用连接时调用连接池的拨号器 dialer 创建新连接 ## 组件 使用 [composer]([https://www.phpcomposer.com/](https://www.phpcomposer.com/)) 安装: ~~~ composer require mix/database ~~~ ## 依赖注入配置 - [beans/database.php](https://github.com/mix-php/mix-skeleton/tree/v2.1/manifest/beans/database.php) ## 通过池获取连接 通过连接池获取连接: ``` /** @var \Mix\Database\Pool\ConnectionPool $dbPool */ $dbPool = context()->get('dbPool'); $db = $dbPool->getConnection(); // ... $db->release(); // 不手动释放的连接不会归还连接池,会在析构时丢弃 ```
';