最贵网站建设,设计说明室内设计现代简约,24 手表网站,学校网站建设整改报告# 分布式数据库ThinkPHP内置了分布式数据库的支持#xff0c;包括主从式数据库的读写分离#xff0c;但是分布式数据库必须是相同的数据库类型。配置database.deploy 为1 可以采用分布式数据库支持。如果采用分布式数据库#xff0c;定义数据库配置信息的方式如下#xff1…# 分布式数据库ThinkPHP内置了分布式数据库的支持包括主从式数据库的读写分离但是分布式数据库必须是相同的数据库类型。配置database.deploy 为1 可以采用分布式数据库支持。如果采用分布式数据库定义数据库配置信息的方式如下//分布式数据库配置定义return [// 启用分布式数据库deploy 1,// 数据库类型type mysql,// 服务器地址hostname 192.168.1.1,192.168.1.2,// 数据库名database demo,// 数据库用户名username root,// 数据库密码password ,// 数据库连接端口hostport ,]连接的数据库个数取决于hostname定义的数量所以即使是两个相同的IP也需要重复定义但是其他的参数如果存在相同的可以不用重复定义例如hostport3306,3306和hostport3306等效。usernameuser1,passwordpwd1,和usernameuser1,user1,passwordpwd1,pwd1,等效。还可以设置分布式数据库的读写是否分离默认的情况下读写不分离也就是每台服务器都可以进行读写操作对于主从式数据库而言需要设置读写分离通过下面的设置就可以rw_separate true,在读写分离的情况下默认第一个数据库配置是主服务器的配置信息负责写入数据如果设置了master_num参数则可以支持多个主服务器写入。其它的都是从数据库的配置信息负责读取数据数量不限制。每次连接从服务器并且进行读取操作的时候系统会随机进行在从服务器中选择。还可以设置slave_no 指定某个服务器进行读操作。 如果从数据库连接错误会自动切换到主数据库连接。调用模型的CURD操作的话系统会自动判断当前执行的方法的读操作还是写操作如果你用的是原生SQL那么需要注意系统的默认规则 **写操作必须用模型的execute方法读操作必须用模型的query方法**否则会发生主从读写错乱的情况。 注意主从数据库的数据同步工作不在框架实现需要数据库考虑自身的同步或者复制机制。