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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php 分布式数据库查询,分布式数据库 · Thinkphp5.0完全开发手册 · 看云

發(fā)布時(shí)間:2024/9/27 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 分布式数据库查询,分布式数据库 · Thinkphp5.0完全开发手册 · 看云 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

# 分布式數(shù)據(jù)庫

ThinkPHP內(nèi)置了分布式數(shù)據(jù)庫的支持,包括主從式數(shù)據(jù)庫的讀寫分離,但是分布式數(shù)據(jù)庫必須是相同的數(shù)據(jù)庫類型。

配置`database.deploy` 為1 可以采用分布式數(shù)據(jù)庫支持。如果采用分布式數(shù)據(jù)庫,定義數(shù)據(jù)庫配置信息的方式如下:

```

//分布式數(shù)據(jù)庫配置定義

return [

// 啟用分布式數(shù)據(jù)庫

'deploy' => 1,

// 數(shù)據(jù)庫類型

'type' => 'mysql',

// 服務(wù)器地址

'hostname' => '192.168.1.1,192.168.1.2',

// 數(shù)據(jù)庫名

'database' => 'demo',

// 數(shù)據(jù)庫用戶名

'username' => 'root',

// 數(shù)據(jù)庫密碼

'password' => '',

// 數(shù)據(jù)庫連接端口

'hostport' => '',

]

```

連接的數(shù)據(jù)庫個(gè)數(shù)取決于`hostname`定義的數(shù)量,所以即使是兩個(gè)相同的IP也需要重復(fù)定義,但是其他的參數(shù)如果存在相同的可以不用重復(fù)定義,例如:

```

'hostport'=>'3306,3306'

```

```

'hostport'=>'3306'

```

等效。

```

'username'=>'user1',

'password'=>'pwd1',

```

```

'username'=>'user1,user1',

'password'=>'pwd1,pwd1',

```

等效。

還可以設(shè)置分布式數(shù)據(jù)庫的讀寫是否分離,默認(rèn)的情況下讀寫不分離,也就是每臺服務(wù)器都可以進(jìn)行讀寫操作,對于主從式數(shù)據(jù)庫而言,需要設(shè)置讀寫分離,通過下面的設(shè)置就可以:

```

'rw_separate' => true,

```

在讀寫分離的情況下,默認(rèn)第一個(gè)數(shù)據(jù)庫配置是主服務(wù)器的配置信息,負(fù)責(zé)寫入數(shù)據(jù),如果設(shè)置了`master_num`參數(shù),則可以支持多個(gè)主服務(wù)器寫入。其它的都是從數(shù)據(jù)庫的配置信息,負(fù)責(zé)讀取數(shù)據(jù),數(shù)量不限制。每次連接從服務(wù)器并且進(jìn)行讀取操作的時(shí)候,系統(tǒng)會隨機(jī)進(jìn)行在從服務(wù)器中選擇。

還可以設(shè)置`slave_no` 指定某個(gè)服務(wù)器進(jìn)行讀操作。

> 如果從數(shù)據(jù)庫連接錯(cuò)誤,會自動切換到主數(shù)據(jù)庫連接。

調(diào)用模型的CURD操作的話,系統(tǒng)會自動判斷當(dāng)前執(zhí)行的方法的讀操作還是寫操作,如果你用的是原生SQL,那么需要注意系統(tǒng)的默認(rèn)規(guī)則: **寫操作必須用模型的execute方法,讀操作必須用模型的query方法**,否則會發(fā)生主從讀寫錯(cuò)亂的情況。

> 注意:主從數(shù)據(jù)庫的數(shù)據(jù)同步工作不在框架實(shí)現(xiàn),需要數(shù)據(jù)庫考慮自身的同步或者復(fù)制機(jī)制。

總結(jié)

以上是生活随笔為你收集整理的php 分布式数据库查询,分布式数据库 · Thinkphp5.0完全开发手册 · 看云的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。