이 글에서는 주로 PHP가 구현하는 mysql 읽기 및 쓰기 분리 작업을 소개합니다. mysql 읽기 및 쓰기 분리 원리를 간략하게 설명하고 이를 예제와 결합하여 mysql이 다양한 작업을 수행하는 PHP의 읽기 및 쓰기 sql 문에 대한 관련 구현 기술을 제공합니다. 데이터베이스가 필요합니다. 친구는
를 참조할 수 있습니다. 이 문서에서는 PHP로 구현되는 mysql 읽기-쓰기 분리 작업을 설명합니다. 참고를 위해 모든 사람과 공유합니다. 세부 사항은 다음과 같습니다.
먼저 mysql 마스터와 슬레이브를 구성해야 합니다. 기본 원칙은 sql 문이 선택되었는지 확인하는 것입니다. 그렇지 않으면 슬레이브에서 확인하세요
<?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`");
결과:
를 통해 슬레이브 db..TCP/IP5.1.73-log10mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b8을 통해 마스터 db..
192.168.20.195를 사용하고 있습니다. 7ba42146a687c29995d2dfd8b4e40b325 $
TCP/IP5 .1.73-log10mysqlnd 5.0.8-dev - 20102224 - $Id: 731e5b87ba42146a687c29995d2dfd8b4e40b325 $
192.168.20.201을 사용하고 있습니다.
PHP 구현 여러 파일 zip 형식으로 압축하고 로컬로 다운로드하는 방법
PHP에서 폴더를 재귀적으로 탐색하여 주석을 제거하고 PHP 소스 코드를 압축하는 방법의 예
위 내용은 PHP로 구현된 mysql 읽기-쓰기 분리 관련 내용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!