thinkphp mysql 读写分离

hinkPHP提供了完善的读写分离功能,不需要手动切换数据库。什么时候读,什么时候写系统会自动判断。读数据时系统会操作从服务器,而写数据时系统会操作主服务器。最终由数据库实现同步,这就是一个最典型的数据库读写分离,下以将配置好的两台主从数据库为例,详细介绍实现读写分离。

首先打开项目下的数据库配置文件,修改其中的数据库连接参数。要实现多数据库连接,只需要使用","分隔多台服务器即可,如以下代码所示。

[php]  view plain  copy
  1. <?php  
  2.     return array(  
  3.      //'配置项'=>'配置值'  
  4.      'URL_CASE INSENSITIVE' =>true,  
  5.      "DB_DEPLOY_TYPE"=>1, //是否启用分布式  
  6.      'DB_RW_SEPARATE'=>true, //是否启用智能读写分离  
  7.      'DB_TYPE' => 'mysql'//数据库类型  
  8.      'DB_HOST' => '192.168.2.1,192.168.2.10'//服务器地址  
  9.      'DB_NAME' => 'tp', //数据库名  
  10.      'DB_USER' => 'root,root'//用户名  
  11.      'DB_PWD' => 'root , root'//密码  
  12.      'DB_PREFIX' => 'tpk_'//数据库表前缀  
  13.      "project_name"=>"项目名称",  
  14.      'TMPL_L_DELIM' => '<!--{',  
  15.      'TMPL_R_DELIM' => '}-->',  
  16.      'LAYOUT_ON'=>true,  
  17.     );  
  18.     ?>  
[php]  view plain  copy
  1. <span style="color: rgb(50, 50, 50); font-family: "Century Gothic", "Microsoft yahei"; font-size: 16px;">配置文件配置好后,现在就可以在动作中测试读写分离了,如以下代码所示。</span>  
[php]  view plain  copy
  1. <span style="color: rgb(50, 50, 50); font-family: "Century Gothic", "Microsoft yahei"; font-size: 16px;"></span><pre code_snippet_id="2338430" snippet_file_name="blog_20170417_3_7578327" name="code" class="php"><?php  
  2.     class IndexAction extends Action {  
  3.      //查询  
  4.      public function index(){  
  5.      $articleObj=M("Article");  
  6.      $rows=$articleObj->select();  
  7.      dump($rows);  
  8.      }  
  9.      //写入  
  10.      public function add() {  
  11.       $articleObj=M("Article");  
  12.       $data["title"]="读写分离测试"i  
  13.       $data["add_user"]="ceiba";  
  14.       $data["area"]="shanghai";  
  15.       $data["category"]=" 教育新闻";  
  16.       $data["content"]="读写分离测试---内容";  
  17.       if ($articleObj->add($data)) {  
  18.        $this->success("数据添加成功") ;  
  19.       }else {  
  20.        $this->error("数据添加失败");  
  21.       }  
  22.      }  
  23.     }  
  24.     ?>  
  25. </pre><pre code_snippet_id="2338430" snippet_file_name="blog_20170417_4_7196643" name="code" class="php"></pre>来源:http://www.thinkphp.cn/topic/15253.html<br>  
  26. <br>  
  27. <p></p>  
  28. <pre></pre>  
  29. <br>  
  30. <br>  
  31. <p></p>  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值