Cet article présente principalement l'opération de séparation de lecture et d'écriture mysql implémentée par PHP. Il décrit brièvement le principe de la séparation de lecture et d'écriture mysql et le combine avec des exemples pour fournir des techniques d'implémentation pertinentes pour les instructions SQL de lecture et d'écriture de PHP pour mysql. exploiter différentes bases de données., Les amis dans le besoin peuvent se référer à
Cet article décrit l'opération de séparation mysql lecture-écriture implémentée par PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Tout d'abord, le maître et l'esclave MySQL doivent être configurés. Le principe de base est de déterminer si l'instruction SQL est sélectionnée. Si tel est le cas, accédez à. la bibliothèque principale, sinon vérifiez depuis l'esclave
<?php /** * mysql读写分离 */ class db{ public function __construct($sql){ $chestr = strtolower(trim($sql)); //判断sql语句有select关键字的话,就连接读的数据库,否则就连接写数据库 if(substr($chestr,0,6)=='select') { echo 'I am using slave db..<br>'; $link = mysql_connect("192.168.20.201:3306", "open", "123456") or die("Could not connect: " . mysql_error()); mysql_select_db("hadoop"); $result = mysql_query($sql); while($row = mysql_fetch_array($result,MYSQL_ASSOC)){ $data[]=$row; } //print_r($data);exit; echo mysql_get_host_info($link).mysql_get_server_info($link).mysql_get_proto_info($link).mysql_get_client_info().'<br>'; }else{ echo 'I am using master db..<br>'; $link = mysql_connect("192.168.20.195:3306","open","123456") or die("Could not connect: " . mysql_error()); mysql_select_db("hadoop"); $result = mysql_query($sql); //echo @mysql_affected_rows($result); echo mysql_get_host_info($link).mysql_get_server_info($link).mysql_get_proto_info($link).mysql_get_client_info().'<br>'; } } } $master = new db("INSERT INTO user (id,name)VALUES (NULL,'100')"); $slave = new db("SELECT * from `user`");
Résultat :
J'utilise master db..
192.168.20.195 via TCP/IP5.1.73-log10mysqlnd 5.0.8 -dev - 20102224 - $Id : 731e5b87ba42146a687c29995d2dfd8b4e40b325 $
J'utilise une base de données esclave..
192.16 8.20.201 via TCP/IP5.1.73-log10mysqlnd 5.0 .8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $
Comment compresser plusieurs fichiers en zip formatez-les et téléchargez-les localement en PHP
Exemple d'implémentation simple d'un modèle de fabrique PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!