您好,登錄后才能下訂單哦!
小編給大家分享一下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讀寫分離的實現方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。