如何解决lumen数据库读写分离主从延迟问题
2019-06-17 本文已影响4人
X先生说
背景
如果数据库使用的是读写分离的DB,在日常使用的时候由于主从同步延迟,会出现写之后立刻读,没办法读到最新的修改。
例如我们一开始插入了一条name='张三'
的数据,这里用了写连接,写到了主库,然后后面的代码又要去查name='张三'
的数据有多少条,这时候lumen默认会用读连接,也就是读到了从库,这中间若是由于主从同步延迟,导致从库还没有更新到最新数据,就会出现读取不到主库的修改。
下面说明下如何解决这个问题
解决方案
- lumen 版本小于5.5
//在需要读也用写连接的情况下,先清空从连接,会自动使用主连接
DB::connection()->setReadPdo(null);
- lumen 版本大于等于5.5,可在配置文件里进行设置,具体如下
https://learnku.com/docs/laravel/5.5/database/1326#read-and-write-connections
Enjoy it !
如果觉得文章对你有用,可以赞助我喝杯咖啡~
版权声明
转载请注明作者和文章出处
作者: X先生
首发于https://www.jianshu.com/p/6e8eb9aeb274