Heim > Artikel > Backend-Entwicklung > So erreichen Sie die Trennung von Lesen und Schreiben in PHP
Es gibt mehrere Möglichkeiten, Lesen und Schreiben in MySQL zu trennen
1. MySQL-Middleware
2. MySQL-Treiberschicht
3. Codesteuerung
Ich werde hier nicht näher auf die Middleware- und Treiberschicht eingehen durch PHP-Code. MySQL liest und schreibt getrennt.
Wir alle wissen, dass „Lesen“ in SQL-Anweisungen „SELECT“ und „Schreiben“ „INSERT“ ist. Daher sollten wir als Erstes an die Funktion zum Abfangen von Zeichenfolgen substr() denken.
Zuerst verwenden wir die Funktion substr(), um zu ermitteln, ob die ersten 6 Zeichen der SQL-Anweisung „SELECT“ sind. Wenn ja, stellen wir eine Verbindung zum Leseserver her Schreibserver zur Verarbeitung.
Beispielcode:
$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); }
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo erreichen Sie die Trennung von Lesen und Schreiben in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!