读写分离(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的那条数据
以下是查询结果