Home  >  Article  >  Backend Development  >  Summary of methods for accessing database clusters with PHP_php tips

Summary of methods for accessing database clusters with PHP_php tips

WBOY
WBOYOriginal
2016-05-16 19:57:241088browse

This article summarizes and analyzes how PHP accesses database clusters. Share it with everyone for your reference, the details are as follows:

There are three common methods:

1. Automatically determine whether the sql is read and select the database connection:

When instantiating the php DB class, you need to connect to two servers at once, and then select different connections based on slq. For example:

$link_w = mysql_connect($w_host,$user,$pwd);
$link_r = mysql_connect($r_host,$user,$pwd);
//执行sql
if(preg_match("/^select/i", trim($sql))) {
  mysql_query($sql,$link_r);
}else {
  mysql_query($sql,$link_w);
}

The advantage of this method is that developers do not need to distinguish between reading or writing when executing SQL, and can make their own judgments at the bottom of the db class. The disadvantage is that often two connections need to be opened when only reading or writing is required.

2. Choose when calling:

When executing SQL, it is generally possible to determine whether it is writing or reading, so developers need to manually call different connections. For example:

$w_db = new DB('w');
$w_db -> query('insert into .....');

When sql is read:

$r_db = new DB('r');
$r_db -> query('select .....');

Mainly through the passed parameters to distinguish whether sql is read or written. The developer needs to make his own judgment before each call to sql.

3. Use MySQL Proxy as the middle layer proxy, which will automatically determine whether the SQL is read or written, and forward the request to the server. The advantage is that the program does not need to change any code. You only need to specify the read or write server when starting mysql proxy:

--proxy-backend-addresses
--proxy-read-only-backend-addresses

Readers who are interested in more PHP-related content can check out the special topics on this site: "Summary of PHP operating office document skills (including word, excel, access, ppt)", "php date Time usage summary", "php object-oriented programming introductory tutorial", "php string (string) usage summary", "php mysql database operation Introductory tutorial " and " Summary of common PHP database operation skills "

I hope this article will be helpful to everyone in PHP programming.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn