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

背景

如果数据库使用的是读写分离的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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容