zoukankan      html  css  js  c++  java
  • laravel 读写分离源码解析

    前言:上一篇我们说了《laravel 配置MySQL读写分离》,这次我们说下,laravel的底层代码是怎样实现读写分离的。

     

    一、实现原理

    说明:
        1、根据 database.php 配置,创建写库和读库的链接 connection
        2、调用 select 时先判断使用读库还是写库,而 insert/update/delete 统一使用写库
    
    主要文件:Illuminate/Database/Connectors/ConnectionFactory.php

    1、判断 database.php 是否配置了读写分离数据库

    文件:Illuminate/Database/Connectors/ConnectionFactory.php

    2、看看如何创建读库和写库的链接

    3、看看多个读库或者写库会选择哪个

    4、总结

    1,可以设置多个读库和多个写库,或者不同组合,比如一个写库两个读库
    2,每次只创建一个读库链接和一个写库链接,从多个库中随机选择一个;

    二、select和insert/update/delete源码解析

    主要文件:Illuminate/Database/Connection.php

    1、select 函数根据第三个输入参数判断使用读库还是写库

    2、insert/update/delete 统一使用写库

    3、总结

    1,getReadPdo () 获得读库链接,getPdo () 获得写库链接。
    
    2,select () 函数根据第三个参数判断使用读库还是写库。

    以上就是本篇文章的全部了,结束。

    参考链接:https://learnku.com/laravel/t/1879/laravel-5-configuration-read-and-write-separation-and-source-analysis

  • 相关阅读:
    稀疏核机
    核方法
    变分法
    拉格朗日乘子
    序列数据
    连续隐含变量
    线性回归模型
    采样方法
    线性分类模型
    一些音乐下的评论
  • 原文地址:https://www.cnblogs.com/chenhaoyu/p/10775824.html
Copyright © 2011-2022 走看看