这里有新鲜出炉的精品教程,程序狗速度看过来!
Yii 2 完全根据 Yii 1.1 版本重写,后者是最流行的 PHP 框架之一。Yii 2 继承了 Yii 的简洁、快速、和高扩展性。Yii 2 需要 PHP 5.4,并且拥有现代 web 应用开发中最好的实例和协议。
大家应该都知道,当项目做大了,数据库主从还是不可少的。使用 Yii 框架开发,如何设置数据库的主从呢?其实很简单。下面这篇文章就给大家详细介绍了使用 Yii2 实现主从数据库设置的方法,文中介绍的很详细,相信对大家的理解和学习很有帮助,下面来一起学习学习吧。
前言
MySQL 主从同步是目前使用比较广泛的数据库架构,技术比较成熟,配置也不复杂,特别是对于负载比较大的网站,主从同步能够有效缓解数据库读写的压力。以前在使用 yii1 的时候,主从数据库的支持没有那么方便,只能写上多个 DB 的 components,然后在 AR 的 getDB 中返回相应的 db。这样也可以用来对付主从数据库
实现方法
Yii2 则已经解决这个问题,直接在代码中进行处理即可:
PHP 代码
- 'db' =>[
- 'class' => 'yii\db\Connection',
- // 配置主服务器
- 'dsn' => 'dsn for master server',
- 'username' => 'master',
- 'password' => '',
- 'charset' => 'utf8',
- 'tablePrefix' => 'php_',//默认为空
- // 配置从服务器
- 'slaveConfig' => [
- 'username' => 'slave',
- 'password' => '',
- 'charset' => 'utf8',
- 'tablePrefix' => 'php_',
- 'attributes' => [
- // use a smaller connection timeout
- PDO::ATTR_TIMEOUT => 10,
- ],
- ],
- ];
是不是感觉超级方便,而不止是这样,你还可以配置从服务器组:
PHP 代码
- 'db'=>[
- //...上面是一些标准配置
- 'slaves' => [
- ['dsn' => 'dsn for slave server 1'],
- ['dsn' => 'dsn for slave server 2'],
- ['dsn' => 'dsn for slave server 3'],
- ['dsn' => 'dsn for slave server 4'],
- ],
- ]
更值得称赞的是,主服务器也是多个主服务器的配置就是下面这样,其中字符编码集,表前缀等设置参考上面的。
PHP 代码
- 'db'=>[
- // 配置主服务器
- 'masterConfig' => [
- 'username' => 'master',
- 'password' => '',
- 'attributes' => [
- // use a smaller connection timeout
- PDO::ATTR_TIMEOUT => 10,
- ],
- ],
- // 配置主服务器组
- 'masters' => [
- ['dsn' => 'dsn for master server 1'],
- ['dsn' => 'dsn for master server 2'],
- ],
- //other ...slaves
- ];
果然 是轻轻松松啊。
当然 如果你想更轻松的使用,这些,其实就是得用 YII2 的 AR。你就用不着改代码了。。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
来源: http://www.phperz.com/article/17/0730/341061.html