Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

业务上需要使用多库,链接多个DB 或者读写分离有没有建议的实现方案? #2

Open
yuvista opened this issue Jul 25, 2016 · 5 comments

Comments

@yuvista
Copy link

yuvista commented Jul 25, 2016

FYI
目前想到的方案就是修改 /libray/Model.php 以及 /app/models/Facade.php 来支持多实例。

@NewFuture
Copy link
Member

对于读写分离,
目前的情况可以默认配置连接数据库为读数据库,默认读操作使用此数据库
然后覆盖Model.php中的execute方法(所有的写操作都经过这里处理),
并添加一个$_write_db连接写数据库,用来执行写操作,其他内容基本不用变了

这两周正在重构数据相关的内容,
数据库连接已近重写还在测试和完善,
orm和数据调用正在重构

接口上会有较多变动,
数据库借口中会同时提供多数据连接的接口

这周应该会更新,在性能,安全,用法和sql完备性上都有提升,如果不着急可以等更新.
测试正常后会推到dev分支上

NewFuture to You !

@NewFuture
Copy link
Member

@yuvista 上周末已经更新,目前PHP7下测试正常
新版会根据数据库配置自动实现读写分离

相关接口文档还在更新中 http://yyf.newfuture.cc/database/orm.html

@yuvista
Copy link
Author

yuvista commented Aug 1, 2016

看了下文档。棒 必须赞一个。有多库多cache有救了。

@NewFuture
Copy link
Member

文档有问题的或者没有的地方都可以直接修改哦

@NewFuture
Copy link
Member

@yuvista 之前数据库切换有个bug

self::$_dbpool[$name]=Config::getSecret('database', $name.'dsn') ?Db::connect($name):Db::connect('_');

最新的修复了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants