PHPackages                             crcms/connection-pool - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. crcms/connection-pool

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

crcms/connection-pool
=====================

CRCMS Connection Pool

v2.x-dev(7y ago)0180MITPHPPHP &gt;=7.1CI failing

Since Mar 22Pushed 6y agoCompare

[ Source](https://github.com/crcms/connection-pool)[ Packagist](https://packagist.org/packages/crcms/connection-pool)[ Docs](https://github.com/crcms/connection-pool)[ RSS](/packages/crcms-connection-pool/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependencies (6)Versions (2)Used By (0)

远程调用的统一客户端
==========

[](#远程调用的统一客户端)

使用方法
----

[](#使用方法)

### 加载引入

[](#加载引入)

在`config/app.php`中增加

```
'providers' => [
    CrCms\Foundation\ConnectionPool\PoolServiceProvider::class,
]

```

### 增加配置

[](#增加配置)

在`config/pool.php`的connections中增加如下测试配置

```
'client' => [
    'max_idle_number' => 50,//最大空闲数
    'min_idle_number' => 15,//最小空闲数
    'max_connection_number' => 20,//最大连接数
    'max_connection_time' => 3,//最大连接时间(s)
],

```

### 调用方法

[](#调用方法)

#### ConnectionFactoryContract的实现

[](#connectionfactorycontract的实现)

目前已在`Client`模块中实现了`Client`的工厂方法,`Redis`,`Mysql`等连接池使用，请参考`Client`模块工厂

```
/* @var ConnectionManager $manager */
$manager = $this->app->make('pool.manager');

$factory = $this->app->make('client.factory');

//获取当前连接  client:客户端连接池配置
$connection = $manager->connection($factory, 'client');
//发送请求
$connection->request('baidu.com',[]);
//获取当前的连接资源的响应
dump(get_class($connection->getResponse()));
//获取资源响应内容
dump($connection->getContent());
//资源回收
$manager->close($connection);

```

### 动态化配置

[](#动态化配置)

连接池也支持运行动态化加载配置，如下示例：

```
/* @var ConnectionManager $manager */
$manager = $this->app->make('pool.manager');

$factory = $this->app->make('client.factory');

//获取当前连接  client:客户端连接池配置
$connection = $manager->connection($factory, 'custom');
//发送请求
$connection->request('baidu.com',[]);
//获取当前的连接资源的响应
dump(get_class($connection->getResponse()));
//获取资源响应内容
dump($connection->getContent());
//资源回收
$manager->close($connection);

```

当连接池使用动态自定义连接名称时，则系统会使用默认的连接参数，如：

```
$connection = $manager->connection($factory, 'custom');

```

如果传入数组配置，则会优先以动态配置覆盖原默认配置

```
$connection = $manager->connection($factory, [
    'name' => 'custom',
    'max_idle_number' => 50,//最大空闲数
    'min_idle_number' => 15,//最小空闲数
    'max_connection_number' => 20,//最大连接数
    'max_connection_time' => 3,//最大连接时间(s)
]);

```

### 支持的类型

[](#支持的类型)

- Client 客户端

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2657d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/6357263?v=4)[simon](/maintainers/hiword)[@hiword](https://github.com/hiword)

---

Tags

connection-poolpoolpoolconnection-poolcrcms

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/crcms-connection-pool/health.svg)

```
[![Health](https://phpackages.com/badges/crcms-connection-pool/health.svg)](https://phpackages.com/packages/crcms-connection-pool)
```

###  Alternatives

[lifo/php-ipc

Simple PHP Inter Process Communication (IPC) library

285.6k](/packages/lifo-php-ipc)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
