程序员技术栈LaravelPHP经验分享

如何解决lumen数据库读写分离主从延迟问题

2019-06-17  本文已影响4人  X先生说

背景

如果数据库使用的是读写分离的DB,在日常使用的时候由于主从同步延迟,会出现写之后立刻读,没办法读到最新的修改。

例如我们一开始插入了一条name='张三'的数据,这里用了写连接,写到了主库,然后后面的代码又要去查name='张三'的数据有多少条,这时候lumen默认会用读连接,也就是读到了从库,这中间若是由于主从同步延迟,导致从库还没有更新到最新数据,就会出现读取不到主库的修改。

下面说明下如何解决这个问题

解决方案

  1. lumen 版本小于5.5
//在需要读也用写连接的情况下,先清空从连接,会自动使用主连接
DB::connection()->setReadPdo(null);
  1. 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

上一篇下一篇

猜你喜欢

热点阅读