一個基於 MySQL 協議,Swoole 開發的 MySQL 資料庫連接池。
將資料庫連接作為對象存儲在內存中,當用戶需要訪問資料庫時,首次會建立連接,後面並非建立一個新的連接,而是從連接池中取出一個已建立的空閑連接對象。
使用完畢后,用戶也並非將連接關閉,而是將連接放回連接池中,以供下一個請求訪問使用。而連接的建立、斷開都由連接池自身來管理。
同時,還可以通過設置連接池的參數來控制連接池中的初始連接數、連接的上下限數以及每個連接的最大使用次數、最大空閑時間等等。
也可以通過其自身的管理機制來監視資料庫連接的數量、使用情況等。超出最大連接數會採用協程掛起,等到有連接關閉再恢復協程繼續操作。
支持讀寫分離
支持資料庫連接池,能夠有效解決 PHP 帶來的資料庫連接瓶頸
支持 SQL92 標準
採用協程調度
支持多個資料庫連接,多個資料庫,多個用戶,靈活搭配
遵守 MySQL 原生協議,跨語言,跨平台的通用中間件代理
支持 MySQL 事務
支持 HandshakeV10 協議版本
完美兼容 MySQL5.5 - 8.0
兼容各大框架,無縫提升性能
PHP 沒有連接池,所以高併發時資料庫會出現連接打滿的情況,Mycat 等資料庫中間件會出現部分 SQL 無法使用,例如不支持批量添加等,而且過於臃腫。
所以就自己編寫了這個僅支持連接池和讀寫分離的輕量級中間件,使用 Swoole 協程調度 HandshakeV10 協議轉發使程序更加穩定,不用像 Mycat 一樣解析所有 SQL 包體,增加複雜度。
新增status
命令監控面板功能
修復日誌目錄創建失敗的問題
修復PHP字元串索引取值版本兼容問題
歡迎各類 Issue 和 Pull Request。
[admin
]