Swoft-Api项目部署八:主从数据库配置

swoft有提供两种主从方式,“手动档模式”与“自动档模式”

手动档模式

手动模式需要xxx.com?db=1、xxx.com?db=2、xxx.com?db=3 这种方式来切换1、2、3数据库。操作权在用户手上。使用并不太方便

 

自动档模式:推荐使用

1.bean配置

#不能写成db_rw
'db' => [
        'charset'  => 'utf8mb4',
        'prefix'   => 'z_',
        'config'   => [
            'collation' => 'utf8mb4_unicode_ci',
            'strict'    => true,
            'timezone'  => '+8:00',
            'modes'     => 'NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'
        ],
        'writes' => [
            [
                'dsn'      => 'mysql:dbname=iot2com;host=127.0.0.1:3306',
                'username' => 'xxx',
                'password' => '123456',
            ]
        ],
        'reads'  => [
            [
                'dsn'      => 'mysql:dbname=iot2com1;host=127.0.0.1',
                'username' => 'xxx',
                'password' => '123456',
            ],
            [
                'dsn'      => 'mysql:dbname=iot2com2;host=127.0.0.1',
                'username' => 'xxx',
                'password' => '123456',
            ]
        ]
    ],

2.控制器调用

读:

/**
     * @RequestMapping()
     * */
    public function t30(Request $request){
        $result = DB::table('log_system')->first();
        print_r($result);
    }

每次刷新页面都显示不同数据,实现自动切换库,数据显示如下

写:

/**
     * @RequestMapping()
     * */
    public function t33(){
        $data= [
           'title'=>'44444'
        ];
        $result = DB::table('log_system')->insert($data);
        print_r($result);
    }

自动插入主库iot2com

 

总结,自动档模式,配置好bean,在使用增、更、删 会自动切换到writes库,查会切换到reads库。完美实现切库动作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值