mysql主从环境配置
拉取mysql docker镜像
MySQL配置主从
启动主服务器
启动从服务器
重启主重容器
主容器创建同步账号
从容器配置
建库,表
laravel如何实现读写分离
读写库的连接数据库配置
laravel读写连接实现
验证
连接正常
读写库分配规则laravel代码实现
insert update delete 使用写库, select 使用读库
原生sql
文件:vendor/laravel/framework/src/Illuminate/Database/Connection.php
查询构建器实现
文件:vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
Query/Builder构造器封装好参数调用原生Collectio进行crud
ORM查询
文件:vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php
ORM的增删改查其实是调用的Eloquent/Builder
Eloquent/Builder 调用Query/Builder类的方法, Query/Builder使用Connection.php连接模型
本质上和查询构造器一样
增删改查连库测试
事务解决方案
对于在同一事务中,如果select拿读库,insert拿写库,insert在主库中的数据在从库中找不到,肯定是会有问题的,laravel是如何解决这一问题的呢?
事务验证
领取专属 10元无门槛券
私享最新 技术干货