首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

docker 部署读写分离及laravel读写分离原理剖析

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是如何解决这一问题的呢?

事务验证

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181001G0OK6L00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券