zoukankan      html  css  js  c++  java
  • laravel(lumen)配置读写分离后,强制读主(写)库数据库,解决主从延迟问题

    在Model里面加上下面这句,强制读主(写)库数据库,解决主从延迟问题。

        public static function boot()
        {
            //清空从连接,会自动使用主连接
            DB::connection()->setReadPdo(null);
        }
    

    --------------------------------------------------------------------------------------------

    laravel5.5可以使用新增特性:

    “粘性”数据库连接


    sticky 选项

    当配置读/写数据库连接时,支持一个新的配置项 sticky:

    'mysql' => [
        'read' => [
            'host' => '192.168.1.1',
        ],
        'write' => [
            'host' => '196.168.1.2'
        ],
        'sticky'    => true,
        'driver'    => 'mysql',
        'database'  => 'database',
        'username'  => 'root',
        'password'  => '',
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix'    => '',
    ],


    sticky 选项是可选的值,可用于允许在当前请求生命周期内立即读取刚刚写入数据库的记录。如果 sticky 选项被开启并且在当前请求生命周期内在数据库上进行了一次”写”操作,任意后续的”读”操作将会使用”写”连接,这样就可以确保任何在当前请求周期内写入的数据可以立即在同一个请求生命周期内被正确地从数据库读取。这可以看作是解决分布式数据库主从延迟的一种方案,至于是否启用这样的功能最终取决于你。

  • 相关阅读:
    Linux下压缩解压缩命令
    Linux挂载外部设备
    Ubuntu下安装软件的三种方式
    Linux查看和修改文件权限
    Linux命令行基础操作
    window下常用的cmd命令
    圆角进度条,带数字居中显示的圆角进度条
    上下滑动控件
    window下Jekyll+github搭建自己的博客
    PAT 团体程序设计天梯赛 L1-046 整除光棍(模拟除法)
  • 原文地址:https://www.cnblogs.com/xuhuaiqu/p/6601961.html
Copyright © 2011-2022 走看看