PHP 数据库读写分离 2020

本节主要内容:
php实现mysql数据库的读写分离。
中国钱币收藏网http://www.fifm.cn/
实现代码:
假设:
127.0.0.1:3306 为读的数据库
127.0.0.2:3306 为写的数据库
例子:

<? /** * mysql读写分离 * edit: www.jbxue.com */ class db { public function __construct($sql) { $chestr = strtolower(trim($sql)); //判断sql语句有select关键字的话,就连接读的数据库,否则就连接写数据库 if(substr($chestr,0,6)=='select') { echo 'I am using select db..
'; $link = mysql_connect("127.0.0.1:3306", "root", "") or die("Could not connect: " . mysql_error()); mysql_select_db("test"); $result = mysql_query($sql); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf("%s %s", $row[0],$row[1]); } echo mysql_get_host_info($link).mysql_get_server_info($link).mysql_get_proto_info($link).mysql_get_client_info().'
'; } else { echo 'I am using insert db..
'; $link = mysql_connect("127.0.0.2:3306","root","") or die("Could not connect: " . mysql_error()); mysql_select_db("test"); $result = mysql_query($sql); echo @mysql_affected_rows($result); echo mysql_get_host_info($link).mysql_get_server_info($link).mysql_get_proto_info($link).mysql_get_client_info().'
'; } } } $d = new db(" update `users` set `select`='fasdf' where `id` =1"); $d2 = new db(" SELECT * from `users`"); 附,数据库读写分享的相关解释。 数据库的读写分离,可以有效降低降低数据库的压力。 一个主数据库,多个从数据库的架构,实现读写分离,是经常用到的方案。 主数据库提供写操作,从数据库提供读操作。 其实分散数据库的压力,并不一定要读写分离,但是读写分离还是有自身的诸多好处的。 比如: 1、有利于数据库的负载均衡实现。 2、有利于实现主从数据库热备份。如果不分离,那么就要考虑做双向热备份策略了。 这个的配置比较复杂,并且出问题后也比较麻烦。 3、有利于保持数据库的高可用性,特别是在数据库集群的环境。 4、最后,实现读写分离后,对mysql的查询速度以及稳定性会更有信心。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值