Yii2 主从 数据库

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

读写分离(Read/Write Splitting)。

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

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

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

Yii2\db\Command.php     prepare 方法

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

Yii2\db\Schema.php    isReadQuery 方法

    public function isReadQuery($sql)
{
$pattern = '/^\s*(SELECT|SHOW|DESCRIBE)\b/i';
return preg_match($pattern, $sql) > 0;
}
上一篇:vmware安装黑苹果教程


下一篇:夺命雷公狗-----React---3--标签的规则