成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? PHP+MYSQL實現讀寫分離簡單實戰
全站頭部文字 我要出現在這里
PHP+MYSQL實現讀寫分離簡單實戰 759 2024-01-15   

1、Introduction

之前寫過2篇文章,分別是:

Mysql主從同步的原理

Myql主從同步實戰

基于此,我們再實現簡單的PHP+Mysql讀寫分離,從而提高數據庫的負載能力。

2、代碼實戰

<?php
class Db
{
  private $res;
  function __construct($sql)
  {
    $querystr = strtolower(trim(substr($sql,0,6)));
    //如果是select,就連接slave服務器
    if($querystr == 'select')
    {
      $res=$this->slave_select($sql);
      $this->res=$res;
    }
    //如果不是select,就連接master服務器
    else
    {
      $res=$this->master_change($sql);
      $this->res=$res;
    }
  }

  /**
   * slave從庫返回sql查詢結果
   * @param $sql
   * @return array
   */
  private function slave_select($sql){
    //該處只是隨機獲取slave節點的ip,當然,還可以采用其他算法獲取slave_ip
    $slave_server=$this->get_slave_ip();
    $dsn="mysql:host=$slave_server;dbname=test";
    $user='root';
    $pass='123456';
    $dbh=new PDO($dsn, $user, $pass);
    return $dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);
  }

  /**master主庫返回sql執行結果
   * @param $sql
   * @return int
   */
  private function master_change($sql){
    $master_server='192.168.33.22';
    $dsn="mysql:host=$master_server;dbname=test";
    $user='root';
    $pass='123456';
    $dbh=new PDO($dsn, $user, $pass);
    return $dbh->exec($sql);
  }

  /**
   * 隨機獲取slave-ip
   * @return mixed
   */
  private function get_slave_ip(){
    $slave_ips=['192.168.33.33','192.168.33.44'];
    $count=count($slave_ips)-1;
    $random_key=mt_rand(0,$count);
    return $slave_ips[$random_key];
  }

  /**       
   * 獲取結果
   * @return int
   */
  public function get_res(){
    return $this->res;
  }
}

$sql1 = "select * from t1";
$sql2 = "insert into t1 (name) values ('haha')";
$sql3 = "delete from t1 where id=1";
$sql4 = "update t1 set name='Jerry' where id=2";

$db = new Db($sql1);
//$db = new Db($sql2);
//$db = new Db($sql3);
//$db = new Db($sql4);

var_dump($db->get_res());

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持綠夏網。



主站蜘蛛池模板: 小宏人司机版| 深夜影院一级毛片| 洪金宝电影| 白世莉电影| 不速之客美国恐怖电影2014| 干了一个月的家具导购| 红色一号电影| 好看的国产动漫| 潘霜霜惊艳写真照| 舞蹈生挠痒痒| 艺术影院| 一键换装app永久免费| 红白黑黄| 挠丝袜| 打美女屁股免费| 亚洲第一区se| tvb直播| 不跟陌生人走教案| 李洋演员个人简介图片| 安塞| 李尸朝鲜第三季| 回响电影| 刘思维| 速度与激情10免费观看完整电影| 《西湖的绿》宗璞| 高冷女头| 竹内纱里奈作品| 《牵牛花》阅读答案| 拔萝卜电视剧在线观看| 徐若| 不得不爱吉他谱| 美国电影waseas| 一代宗师 豆瓣| 二胡独奏我的祖国| 小牛加速器安卓版| 卑微的灵魂| 二年级拍手歌生字组词| 欠条怎么写才具有法律效力| 美女绳奴隶| 阮虔芷个人资料| 叶蓓个人资料简介|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103