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

  • 相关阅读:
    Vue之仿百度搜索框
    Vue之交互
    Vue之键盘事件
    Vue之事件冒泡
    Vue之阻止默认行为
    sql注入常用注释符总结
    什么是Git
    Github部署博客
    php笔记
    JavaScript(更新中)
  • 原文地址:https://www.cnblogs.com/xuhuaiqu/p/6601961.html
Copyright © 2011-2022 走看看