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+DBM的同学录程序(2)
Oct 09 PHP
php下批量挂马和批量清马代码
Feb 27 PHP
php的memcached客户端memcached
Jun 14 PHP
浅谈php扩展imagick
Jun 02 PHP
php使用curl通过代理获取数据的实现方法
May 16 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
PHP magento后台无法登录问题解决方法
Nov 24 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 PHP
PHP的介绍以及优势详细分析
Sep 05 PHP
Yii框架的路由配置方法分析
Sep 09 PHP
laravel 判断查询数据库返回值的例子
Oct 11 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
PHP中str_replace函数使用小结
2008/10/11 PHP
PHP 日常开发小技巧
2009/09/23 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
Python标准库之sqlite3使用实例
2014/11/25 Python
python optparse模块使用实例
2015/04/09 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
Python实现RGB与HSI颜色空间的互换方式
2019/11/27 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
M.M.LaFleur官网:美国职业女装品牌
2020/10/27 全球购物
单位介绍信范文
2014/01/18 职场文书
《月迹》教学反思
2014/02/19 职场文书
公证书标准格式
2014/04/10 职场文书
大学生简短的自我评价
2014/09/12 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
践行三严三实心得体会
2014/10/13 职场文书
家长会感言
2015/08/01 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书