个人资料
数据库读写分离是在网站出现性能瓶颈时首先考虑优化的步骤,那么yii2如何进行数据库读写分离呢? 在本节的教程中,将普及yii2的数据库读写分离结构。
两个服务器的数据同步是读写分离的前提条件,但这在yii2读写分离教程中没有。 yii2的数据库读写分离配置只在主库中实现读写,在来自库的查询中,首先构成主从服务器的数据同步。 有关详细信息,请参阅linux数据库的主从同步配置
构成
主从服务器数据库同步完成后,可以开始yii2的读写分离配置。 官方也有这方面的文档,但说不清楚。 也没有实际的例子。 酱油君在这里做得很完美。
1 .打开数据库配置文件commonconfigmain-local.php,然后在db属性中配置以下内容
' db'=[
' class'='yiidbConnection ',
//配置主服务器
' DSN '=' MySQL : host=192.168.0.1; dbname=hyii2',
' username'='root ',
' password'='root ',
' charset'='utf8 ',
//配置从服务器
' slaveConfig'=[
' username'='root ',
' password'='root ',
' attributes'=[
//useasmallerconnectiontimeout
PDO:ATTR_TIMEOUT=10,
]、
' charset'='utf8 ',
]、
//配置从服务器组
' slaves'=[
[ ' DSN '=' MySQL : host=192.168.0.2; dbname=hyii2'],
]、
]、
通过以上结构,可以实现yii2数据库的读写分离操作。 很简单。 一个结构就可以了。 读写分离的功能由后台代码自动完成。 呼叫方不需要在意。
上面只有1主1从的配置,如果需要1主多从或多主多从,参考本例和官方文档即可完成。
有关yii2的详细文档请单击此处