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中将地址生成迅雷快车旋风链接的代码[测试通过]
Apr 20 PHP
php命名空间学习详解
Feb 27 PHP
PHP实现采集中国天气网未来7天天气
Oct 15 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
PHP人民币金额转大写实例代码
Oct 02 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
Dec 25 PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
PHP进程通信基础之信号量与共享内存通信
Feb 19 PHP
Yii2设置默认控制器的两种方法
May 19 PHP
PHP实现用session来实现记录用户登陆信息
Oct 15 PHP
php设计模式之适配器模式原理、用法及注意事项详解
Sep 24 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
PHPLog php 程序调试追踪工具
2009/09/09 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
php简单的上传类分享
2016/05/15 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
2020/07/19 PHP
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
2012/07/31 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
VueJS事件处理器v-on的使用方法
2017/09/27 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
Python中的localtime()方法使用详解
2015/05/22 Python
python开发之list操作实例分析
2016/02/22 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
使用tensorflow实现线性回归
2018/09/08 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
python实现数字炸弹游戏
2020/07/17 Python
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
值传递还是引用传递
2015/02/08 面试题
高中毕业生自我鉴定
2013/11/03 职场文书
美德好少年主要事迹
2014/01/29 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
合伙协议书范本
2014/04/21 职场文书
办护照工作证明
2014/10/01 职场文书
初中教师个人总结
2015/02/10 职场文书
三行辞职书范文
2015/02/26 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
Python实现滑雪小游戏
2021/09/25 Python