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


Posted in PHP onMarch 14, 2016

本文总结分析了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 相关文章推荐
PHP Ajax实现页面无刷新发表评论
Jan 02 PHP
php下使用SMTP发邮件的代码
Jan 10 PHP
基于php 随机数的深入理解
Jun 05 PHP
php字符编码转换之gb2312转为utf8
Oct 28 PHP
基于php和mysql的简单的dao类实现crud操作功能
Jan 27 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
May 23 PHP
PHP与SQL语句常用大全
Dec 10 PHP
laravel5.2实现区分前后台用户登录的方法
Jan 11 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 17 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
Aug 20 PHP
PHP安装BCMath扩展的方法
Feb 13 PHP
php 无限级分类 获取顶级分类ID
Mar 13 #PHP
PHP实现文件上传与下载实例与总结
Mar 13 #PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 #PHP
PHP批量去除BOM头内容信息代码
Mar 11 #PHP
PHP中调用C/C++制作的动态链接库的教程
Mar 10 #PHP
php实现无限级分类查询(递归、非递归)
Mar 10 #PHP
Zend Framework教程之Application和Bootstrap用法详解
Mar 10 #PHP
You might like
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
php实现的农历算法实例
2015/08/11 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
PHP 实现重载
2021/03/09 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
JavaScript中的History历史对象
2008/01/16 Javascript
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
使用Django和Python创建Json response的方法
2018/03/26 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
python+OpenCV实现图像拼接
2020/03/05 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
离职保密承诺书
2014/05/28 职场文书
公司演讲稿开场白
2014/08/25 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
先进个人推荐材料
2014/12/29 职场文书
阿甘正传观后感
2015/06/01 职场文书
超市员工管理制度
2015/08/06 职场文书
解决xampp安装后Apache无法启动
2022/03/21 Servers