首頁  >  文章  >  後端開發  >  php讀寫分離怎麼實現

php讀寫分離怎麼實現

王林
王林原創
2019-10-15 17:55:263134瀏覽

php讀寫分離怎麼實現

MySQL讀寫分離有好幾種方式

1、MySQL中間件 

2、MySQL驅動層 

3、程式碼控制

關於中間件和驅動層的方式這裡不做深究,暫且簡單介紹下如何透過PHP程式碼來控制MySQL讀寫分離。

我們都知道 “讀” 在SQL語句裡是 “SELECT”,  ”寫” 是 “INSERT”,那我們應該在第一時間想到 字串截取 substr() 這個函數。

首先我們透過substr()函數來取得到 sql語句的前6個字元是否為 “SELECT” 如果是,我們連接讀取伺服器進行處理,如果不是,我們連接寫入伺服器進行處理。

實例程式碼:

$querystr = strtolower(trim(substr($sql,0,6)));    //截取SQL语句字符串

//如果是select,就连接slave(从)服务器
if($querystr == 'select')
{
  $slave_server='192.168.80.3::3306';
  $dsn="mysql:host=$slave_server;dbname=3d";
  $user='root';
  $pass='root';
  $dbh=new PDO($dsn, $user, $pass);
  $res=$dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);
}
//如果不是select,就连接master(主)服务器
else
{
  $master_server='192.168.33.22::3306';
  $dsn="mysql:host=$master_server;dbname=3dprintsys";
  $user='root';
  $pass='123456';
  $dbh=new PDO($dsn, $user, $pass);
  $res=$dbh->exec($sql);
}

推薦教學:PHP影片教學

以上是php讀寫分離怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn