使用Yii2实现读写分离(MySQL主从数据库)

来源:互联网 发布:淘宝无线优惠券转化 编辑:程序博客网 时间:2024/05/17 06:00

读写分离(Read/Write Splitting)。

简介
数据库读写分离是在网站遇到性能瓶颈的时候最先考虑优化的步骤,那么yii2是如何做数据库读写分离的呢?本节教程来给大家普及一下yii2的数据库读写分离配置。
两个服务器的数据同步是读写分离的前提条件,但这不在yii2读写分离教程内,yii2的数据库读写分离配置,仅仅实现了在主库读写,在从库查询,那么我们首先要配置主从服务器的数据同步。详情查看linux数据库主从同步配置
配置
主从服务器数据库同步完成之后,我们就可以开始yii2的读写分离配置,官方也有这方面的文档,但说的并不清楚,也没有实际的例子,酱油君在这里加以完善。

1.原理:让主数据库(master)处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库(slave)处理SELECT查询操作。
2.好处:备份数据库,分担数据库压力,承受更大的访问量。

yii实现读写分离非常简单,只需要在配置文件中写几个配置参数即可实现。
1.配置db.php文件
这里写图片描述
2.创建两个数据库为了演示ip都指向本地的MySQL数据库,但是数据库名称不同,同时在数据库分别插入一条数据,将slave数据库的username改成slave。
这里写图片描述
3.查看查询结果
查询主键id为1的那条数据
这里写图片描述
以下是查询结果
这里写图片描述

0 0