您好,登錄后才能下訂單哦!
小編給大家分享一下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è)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(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)容。