日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Laravel5.5 MySQL配置、读写分离及操作

發布時間:2023/12/9 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Laravel5.5 MySQL配置、读写分离及操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

Laravel 讓連接不同數據庫以及對數據庫進行增刪改查操作:

參考:http://laravelacademy.org/post/854.html

配置讀寫分離

應用的數據庫配置位于?config/database.php(但是數據庫用戶及密碼等敏感信息位于?.env?文件)。在該文件中你可以定義所有的數據庫連接,并指定哪個連接是默認連接。

'mysql' => ['driver' => 'mysql','read' => ['host' => ['39.107.243.232','39.106.201.242',]],'write' => ['host' => '39.107.243.232'],'port' => env('DB_PORT', '3306'),'database' => env('DB_DATABASE', 'test'),'username' => env('DB_USERNAME', 'root'),'password' => env('DB_PASSWORD', 'aaaa'),'unix_socket' => env('DB_SOCKET', ''),'charset' => 'utf8mb4','collation' => 'utf8mb4_unicode_ci','prefix' => '','strict' => true,'engine' => null,'modes' => ['ONLY_FULL_GROUP_BY','STRICT_TRANS_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','ERROR_FOR_DIVISION_BY_ZERO','NO_ENGINE_SUBSTITUTION',], ],

Laravel 在讀數據時會從提供的 IP 中隨機選一個進行連接。目前Lavavel5.5讀寫分離僅支持單個寫連接。

?

使用不同數據庫連接:

1. 原生SQL:

$id = 2; $users = DB::connection('mysql::read')->select('select * from users where id = ?',[$id]); if( empty($users) ) {print("Record is not exist : id = $id");return; } $users = json_decode(json_encode($users),true); $user = $users[0]; print($user['name']); $id = 1; $user['name'] = 'abce21s'; $affected = DB::update('update users set name=? where id=?', [$user['name'],$id]); if(true != $affected) {print("Update data failed! : id = $id");return; } print('Update data successful!'); $id = 2; $user['name'] = 'aaaa'; $affected = DB::insert('insert into users (id, name) values (?, ?)', [$id, $user['name']]); if(true != $affected) {print("Update data failed! : id = $id");return; } print('Update data successful!');

?

可以強制寫到讀或者寫的數據庫中:

$id = 1; $user['name'] = 'ab1s'; $affected = DB::connection('mysql::read')->update('update users set name=? where id=?', [$user['name'],$id]); if(true != $affected) {print("Update data failed! : id = $id");return; } print('Update data successful!'); $id = 1; $user['name'] = '111'; $affected = DB::connection('mysql::write')->update('update users set name=? where id=?', [$user['name'],$id]); if(true != $affected) {print("Update data failed! : id = $id");return; } print('Update data successful!');

?

2. 查詢構建器:

$id = 2; $user['name'] = 'abcde2'; $affected = DB::connection('mysql::read')->table('users')->where('id', $id)->update(['name' => $user['name']]); if(true != $affected) {print("Update data failed! : id = $id");return; } print('Update data successful!'); $id = 1; $user['name'] = '222'; $affected = DB::connection('mysql::write')->table('users')->where('id', $id)->update(['name' => $user['name']]); if(true != $affected) {print("Update data failed! : id = $id");return; } print('Update data successful!'); $id = 2; $user['name'] = 'bbb';$affected = DB::connection('mysql::write')->table('users')->insert(['id'=> $id, 'name'=>$user['name']]); if(true != $affected) {print("Update data failed! : id = $id");return; } print('Update data successful!');

?

3. Eloquent ORM

參考:https://docs.golaravel.com/docs/5.5/eloquent/

?

http://laravelacademy.org/post/8060.html

轉載于:https://my.oschina.net/michaelshu/blog/1860578

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Laravel5.5 MySQL配置、读写分离及操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。