swoole 之建立一個 MySQL 連線池 學習分享記錄 [持續更新]

Krisji發表於2019-08-08

先了解基礎知識 swoole中的協程

  • swoole4.0以後的協程 Coroutine 採用CSP 模型進行同步程式設計方式 底層實現非同步IO
php 版本 一個閉包
go(function(){

});
GO 版本
函式之前加上關鍵字 go
  \Swoole\Timer::tick(2000,function(){
            $this->cleanPool();
        });
abstract class DBPool{

}
abstract class DBPool{
    private $min;最小連線數
    private $max;最大連線數
    private $conns;一個協程DB管道 作用協程通訊
    private $count;當前所有連線數
    private $idleTime=10;連線空閒時間秒
    abstract protected function newDB(); 建立一個新的DB 類 可能是PDO 類 可能是協程客戶端
}

程式碼連結 https://github.com/jiqinwj/swoole_coroutin...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章