Properties

$connection

$connection : \SplQueue

Type

\SplQueue — All connections

$connection_count

$connection_count : integer

Type

integer — Current connected count

$last_run_out_time

$last_run_out_time : integer

Type

integer — Last time when use out all connections

$wait

$wait : \SplQueue

Type

\SplQueue — Waiting coroutine queue

$min_client

$min_client : integer

Type

integer — Min count

$max_client

$max_client : integer

Type

integer — Max count

$config

$config : 

Type

$options

$options : 

Type

Methods

initPool()

initPool(array  $config) 

Setup connection pool

Parameters

array $config

getConnection()

getConnection() : object

获取一个可用连接 如果不存在可用连接,会自动判断是否需要建立新的连接

Returns

object

freeConnection()

freeConnection(object  $connection) 

使用完成连接,归还给连接池

Parameters

object $connection

close()

close() 

断开一个连接

reconnect()

reconnect(  $connection) 

Reconnect

Parameters

$connection

__construct()

__construct(array  $config) 

Parameters

array $config

__call()

__call(string  $name, array  $arguments) : mixed

魔术方法,调用随机连接

Parameters

string $name
array $arguments

Returns

mixed

setOption()

setOption(integer  $name, mixed  $value) 

setOption封装 会对所有连接执行,并压入一个数组,每次新建连接会自动执行 此方法的执行会阻塞所有连接,直到所有连接都执行完成

Parameters

integer $name
mixed $value

getMinClient()

getMinClient() 

getMaxClient()

getMaxClient() 

createConnection()

createConnection() 

创建新的连接,并压入连接池

connect()

connect() 

根据配置连接到数据库