溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php讀寫分離的實現(xiàn)方法

發(fā)布時間:2020-09-18 10:51:44 來源:億速云 閱讀:233 作者:小新 欄目:編程語言

小編給大家分享一下php讀寫分離的實現(xiàn)方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

MySQL讀寫分離有好幾種方式

1、MySQL中間件

2、MySQL驅(qū)動層

3、代碼控制

關(guān)于中間件和驅(qū)動層的方式這里不做深究 ,暫且簡單介紹下如何通過PHP代碼來控制MySQL讀寫分離。

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

首先我們通過substr()函數(shù)來獲取到 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讀寫分離的實現(xiàn)方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI