ホームページ > バックエンド開発 > PHPチュートリアル > PHP によって実装された mysql の読み書き分離の関連コンテンツ

PHP によって実装された mysql の読み書き分離の関連コンテンツ

jacklove
リリース: 2023-04-01 18:10:02
オリジナル
1467 人が閲覧しました

この記事では主に、PHP によって実装される mysql の読み取りと書き込みの分離操作を紹介します。mysql の読み取りと書き込みの分離の原理を簡単に説明し、例を組み合わせて、mysql の読み取りと書き込みの SQL ステートメントが動作するための PHP の関連実装スキルを示します。必要な友人は参照してください。

この記事の例では、PHP によって実装された mysql の読み取りと書き込みの分離操作について説明します。参考までに皆さんと共有してください。詳細は次のとおりです。

まず、mysql マスターとスレーブを設定する必要があります。その場合、SQL ステートメントが選択されているかどうかを確認します。マスター ライブラリ。それ以外の場合はスレーブから確認してください。

<?php
/**
* mysql读写分离
*/
class db{
  public function __construct($sql){
    $chestr = strtolower(trim($sql));
    //判断sql语句有select关键字的话,就连接读的数据库,否则就连接写数据库
    if(substr($chestr,0,6)==&#39;select&#39;)
    {
      echo &#39;I am using slave db..<br>&#39;;
      $link = mysql_connect("192.168.20.201:3306", "open", "123456") or die("Could not connect: " . mysql_error());
      mysql_select_db("hadoop");
      $result = mysql_query($sql);
      while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
        $data[]=$row;
      }
      //print_r($data);exit;
      echo mysql_get_host_info($link).mysql_get_server_info($link).mysql_get_proto_info($link).mysql_get_client_info().&#39;<br>&#39;;
    }else{
      echo &#39;I am using master db..<br>&#39;;
      $link = mysql_connect("192.168.20.195:3306","open","123456") or die("Could not connect: " . mysql_error());
      mysql_select_db("hadoop");
      $result = mysql_query($sql);
      //echo @mysql_affected_rows($result);
      echo mysql_get_host_info($link).mysql_get_server_info($link).mysql_get_proto_info($link).mysql_get_client_info().&#39;<br>&#39;;
    }
  }
}
$master = new db("INSERT INTO user (id,name)VALUES (NULL,&#39;100&#39;)");
$slave = new db("SELECT * from `user`");
ログイン後にコピー

結果:

マスター データベースを使用しています。..
192.168 .20.195 via TCP/IP5.1.73-log10mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $
私はスレーブ db..
192.168.20.201 via TCP/IP5.1 を使用しています。 73-log10mysqlnd 5.0.8 -dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $

興味があるかもしれない記事:

複数のファイルを zip 形式に圧縮する PHP の方法そしてローカルにダウンロードします

PHP がフォルダーを再帰的に走査してコメントを削除し、php ソース コードを圧縮する方法の例

例PHP ファクトリ モードの簡単な実装

#

以上がPHP によって実装された mysql の読み書き分離の関連コンテンツの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート