zoukankan      html  css  js  c++  java
  • Yii2 主从 数据库

    配置方法 参考资料:http://www.linuxidc.com/Linux/2015-07/120134.htm

    读写分离(Read/Write Splitting)。

    1.原理:让主数据库(master)处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库(slave)处理SELECT查询操作。

    2.好处:备份数据库,分担数据库压力,承受更大的访问量。

    是怎么分配主从数据库的:

    Yii2dbCommand.php     prepare 方法

     if ($forRead || $forRead === null && $this->db->getSchema()->isReadQuery($sql))
     {
            $pdo = $this->db->getSlavePdo();
     } else {
            $pdo = $this->db->getMasterPdo();
     }

    Yii2dbSchema.php    isReadQuery 方法

        public function isReadQuery($sql)
        {
            $pattern = '/^s*(SELECT|SHOW|DESCRIBE)/i';
            return preg_match($pattern, $sql) > 0;
        }
  • 相关阅读:
    闭包
    this
    函数声明,表达式,构造函数
    算法学习_栈
    LeetCode刷题_140
    2020/3/20 刷题
    2020/3/19 刷题
    2020/3/13_C++实验课
    刷题(主要是DFS) 2020年3月12日
    DFS的一些题2020/3/11
  • 原文地址:https://www.cnblogs.com/cgjcgs/p/5643965.html
Copyright © 2011-2022 走看看