ホームページ  >  記事  >  データベース  >  MySQL データベース接続プール SMProxy

MySQL データベース接続プール SMProxy

藏色散人
藏色散人転載
2019-02-18 11:38:062852ブラウズ

Swoole MySQL プロキシ。MySQL プロトコルに基づいて Swoole によって開発された MySQL データベース接続プール。

MySQL データベース接続プール SMProxy

原則

ユーザーがデータベースにアクセスする必要がある場合、データベース接続をオブジェクトとしてメモリに保存します。新しい接続を確立する代わりに、確立されたアイドル状態の接続オブジェクトが接続プールから取り出されます。使用後、ユーザーは接続を閉じず、次のリクエストに備えて接続を接続プールに戻します。接続の確立と切断は、接続プール自体によって管理されます。

同時に、接続プール内の接続の初期数、接続の上限と下限、各接続の最大使用数、最大アイドル時間などを制御することもできます。接続プールのパラメータを設定します。独自の管理メカニズムを通じてデータベース接続の数や使用状況などを監視することもできます。最大接続数を超えると、コルーチンは一時停止され、接続が閉じられて操作が継続されるまでコルーチンは再開されます。

#特徴

-読み取りと書き込みの分離をサポート

-PHP によって引き起こされるデータベース接続のボトルネックを効果的に解決できるデータベース接続プールをサポート

-SQL92 標準をサポート

-コルーチン スケジューリングを採用

-複数のデータベース接続、複数のデータベース、複数のユーザー、柔軟な組み合わせをサポート

-MySQL ネイティブ プロトコルに準拠、クロス言語、クロスプラットフォームのユニバーサル ミドルウェア エージェント

-MySQL トランザクションをサポート

-HandshakeV10 プロトコル バージョンをサポート

-MySQL4.1 ~ 8.0

と完全に互換性

-主要なフレームワークと互換性があり、シームレスにパフォーマンスを向上させます

当初の設計意図

PHP には接続プールがないため、次の場合にデータベースが接続でいっぱいになります。同時実行性が高いと、Mycat やその他のデータベース ミドルウェアによって、一部の SQL が使用できなくなります。たとえば、バッチ追加がサポートされず、肥大化しすぎます。そこで、接続プーリングと読み取り/書き込み分離のみをサポートするこの軽量ミドルウェアを自分で作成しました。これは、プログラムの安定性を高めるために、Swoole コルーチン スケジューリングと HandshakeV10 プロトコル転送を使用します。これにより、複雑さが増します。 。

推奨チュートリアル: 「

mysql チュートリアル http://www.php.cn/course/list/51.html

#

以上がMySQL データベース接続プール SMProxyの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はoschina.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。