SEO工具、SEO教程、SEM教程、SEO培训、SEO优化、SEO服务、SEM服务等方面的资料,让大家掌握更多搜索引擎优化、网站优化等方面的知识。

2008年11月25日星期二

值得关注的ThinkPHP特性2:分布式数据库支持

分布式数据库支持
ThinkPHP的模型支持主从式数据库的连接,配置DB_DEPLOY_TYPE 为1 可以采用分布式数据库支持。
如果采用分布式数据库,定义数据库配置信息的方式如下:
代码: 复制内容到剪贴板

1. // 在项目配置文件里面定义
2. Return array(
3. 'DB_TYPE'=> 'mysql', // 分布式数据库的类型必须相同
4. 'DB_HOST'=> '192.168.0.1,192.168.0.2',
5. 'DB_NAME'=>'thinkphp', // 如果相同可以不用定义多个
6. 'DB_USER'=>'user1,user2',
7. 'DB_PWD'=>'pwd1,pwd2',
8. 'DB_PORT'=>'3306',
9. 'DB_PREFIX'=>'think_',
10. …… 其它项目配置参数
11. );

连接的数据库个数取决于DB_HOST定义的数量,所以即使是两个相同的IP也需要重复定义,但是其他的参数如果存在相同的可以不用重复定义,例如:
代码: 复制内容到剪贴板

1. 'DB_PORT'=>'3306,3306' 和 'DB_PORT'=>'3306' 等效

代码: 复制内容到剪贴板

1. 'DB_USER'=>'user1',
2. 'DB_PWD'=>'pwd1',
3. 和
4. 'DB_USER'=>'user1,user1',
5. 'DB_PWD'=>'pwd1,pwd1',

等效。
还可以设置分布式数据库的读写是否分离,默认的情况下读写不分离,也就是每台服务器都可以进行读写操作,对于主从式数据库而言,需要设置读写分离,通过下面的设置就可以:
代码: 复制内容到剪贴板

1. 'DB_RW_SEPARATE'=>true,

在读写分离的情况下,第一个数据库配置是主服务器的配置信息,负责写入数据,其它的都是从数据库的配置信息,负责读取数据,数量不限制。每次连接从服务器并且进行读取操作的时候,系统会随机进行在从服务器中选择。

注意事项
主从数据库的数据同步工作不在框架实现,需要数据库考虑自身的同步或者复制机制。

没有评论:

关注者

博客归档