Thinkphp分布式数据库
来源:互联网 发布:深圳淘宝拍照 编辑:程序博客网 时间:2024/05/29 11:57
Thinkphp内置了分布式数据库,主从式数据库的读写分离,分布式数据库必须是相同的数据库类型。
如果采用分布式数据库,定义数据库配置信息的方式如下:
//分布式数据库配置定义return [ // 启用分布式数据库 'deploy' => 1, // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '192.168.1.1,192.168.1.2', // 数据库名 'database' => 'demo', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '',]
连接的数据库个数取决于hostname
定义的数量,所以即使是两个相同的IP也需要重复定义,但是其他的参数如果存在相同的可以不用重复定义,例如:
'hostport'=>'3306,3306'
和
'hostport'=>'3306'
等效。
'username'=>'user1', 'password'=>'pwd1',
和
'username'=>'user1,user1', 'password'=>'pwd1,pwd1',
等效。
设置分布式数据库的读写是否分离,默认的情况下读写不分离,也就是每台服务器都可以进行读写操作,对于主从式数据库而言,需要设置读写分离,通过下面的设置就可以: 'rw_separate' => true,
在读写分离的情况下,默认第一个数据库配置是主服务器的配置信息,负责写入数据,如果设置了master_num
参数,则可以支持多个主服务器写入。其它的都是从数据库的配置信息,负责读取数据,数量不限制。每次连接从服务器并且进行读取操作的时候,系统会随机进行在从服务器中选择。
还可以设置slave_no
指定某个服务器进行读操作。
如果从数据库连接错误,会自动切换到主数据库连接。
调用模型的CURD操作的话,系统会自动判断当前执行的方法的读操作还是写操作,如果你用的是原生SQL,那么需要注意系统的默认规则: 写操作必须用模型的execute方法,读操作必须用模型的query方法,否则会发生主从读写错乱的情况。
阅读全文
0 0
- thinkphp 分布式数据库 详解
- thinkphp 分布式数据库 详解
- Thinkphp分布式数据库
- thinkphp多数据库连接:分布式数据库支持
- Thinkphp分布式数据库连接代码分析
- 分布式数据库
- 分布式数据库
- 分布式数据库
- 分布式数据库
- 分布式数据库
- 分布式数据库
- 分布式数据库
- 分布式数据库
- 分布式数据库
- 分布式数据库
- 分布式数据库
- 分布式数据库
- 分布式数据库
- hadoop集群配置记录
- 勒索病毒全球肆虐 淘宝卖家恢复文件坐地起价趁火打劫
- 浅谈Angular的 $http, $q, defer, promise
- 【移动端】判断PC端还是手机端
- 微信小程序开发—(十五)audio音频播放
- Thinkphp分布式数据库
- MapReduce运行中遇到的问题
- KAFKA目录结构
- Java注解实战
- 选项卡 新闻导航
- 微信小程序学习日志1
- rex 传文件改变用户属主
- 腾讯亿级排行榜系统实践及挑战
- 一份接地气的数据方案!——能源化工生产管理数据分析