Heim >php教程 >php手册 >PHP访问数据库集群的方法小结,访问数据集群

PHP访问数据库集群的方法小结,访问数据集群

WBOY
WBOYOriginal
2016-06-13 08:44:221082Durchsuche

PHP访问数据库集群的方法小结,访问数据集群

本文总结分析了PHP访问数据库集群的方法。分享给大家供大家参考,具体如下:

一般常见的有三种做法:

1、自动判断sql是否为读,来选择数据库的连接:

实例化php DB类的时候,需要一次连接两台服务器,然后根据slq选择不同的连接,举个例子:

$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);
}

这个方法的优点就是开发者执行sql不用区分读或者写,在db类的底层自己判断,缺点是,往往只需要读或者写时也需要打开两个连接。

2、调用的时候自己选择:

当执行sql前一般是能确定是写还是读,所以开发者需要手动的调用不同的连接,举个例子:

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

当sql为读:

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

主要通过,传的参数来区别sql是读还是写,每次调用sql前需要调用开发者自己判断。

3、使用MySQL Proxy做中间层代理,会自动将判断sql是读或者写,将请求转发给服务器。优点是程序不用更改任何代码,只要启动mysql proxy 时分别指定读或写的服务器:

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

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:

  • 浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
  • nginx+apache+mysql+php+memcached+squid搭建集群web环境
  • Shell、Perl、Python、PHP访问 MySQL 数据库代码实例
  • PHP访问MYSQL数据库封装类(附函数说明)
  • ThinkPHP实现多数据库连接的解决方法
  • ThinkPHP3.1新特性之多数据库操作更加完善
  • PHP同时连接多个mysql数据库示例代码
  • php中CI操作多个数据库的代码
  • php多数据库支持的应用程序设计
  • PHP连接MYSQL数据库实例代码
  • php中数据库连接方式pdo和mysqli对比分析
  • php连接oracle数据库及查询数据的方法
  • php使用pdo连接并查询sql数据库的方法
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn