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 相关文章推荐
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
一个基于PDO的数据库操作类
Mar 24 PHP
php产生随机数的两种方法实例代码 输出随机IP
Apr 08 PHP
比较简单的百度网盘文件直链PHP代码
Mar 24 PHP
深入PHP nl2br()格式化输出的详解
Jun 05 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
php微信公众号开发之校园图书馆
Oct 20 PHP
PHP文件上传小程序 适合初学者学习!
May 23 PHP
PHP中非常有用却鲜有人知的函数集锦
Aug 17 PHP
thinkphp5+layui实现的分页样式示例
Oct 08 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
html中select语句读取mysql表中内容
2006/10/09 PHP
php echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
让你成为更出色的PHP开发者的10个技巧
2011/02/25 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
php的dl函数用法实例
2014/11/06 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
php简单smarty入门程序实例
2015/06/11 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
jquery 插件学习(三)
2012/08/06 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
canvas实现图片根据滑块放大缩小效果
2017/02/24 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
python三元运算符实现方法
2013/12/17 Python
Python常用模块介绍
2014/11/21 Python
python实现朴素贝叶斯算法
2018/11/19 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
python全局变量引用与修改过程解析
2020/01/07 Python
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
公务员转正鉴定材料
2014/02/11 职场文书
毕业生就业意向书
2014/04/01 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
大足石刻导游词
2015/02/02 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
《包身工》教学反思
2016/02/23 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
学会Python数据可视化必须尝试这7个库
2021/06/16 Python
深入浅析Django MTV模式
2021/09/04 Python
python分分钟绘制精美地图海报
2022/02/15 Python