国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL體系結(jié)構(gòu)

這篇具有很好參考價(jià)值的文章主要介紹了MySQL體系結(jié)構(gòu)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

MySQL體系結(jié)構(gòu),重拾MySQL-進(jìn)階篇,mysql,數(shù)據(jù)庫(kù)

???歡迎您來(lái)到我的MySQL基礎(chǔ)復(fù)習(xí)專欄

☆* o(≧▽≦)o *☆哈嘍~我是小小惡斯法克??
?博客主頁(yè):小小惡斯法克的博客
??該系列文章專欄:重拾MySQL-進(jìn)階篇
??文章作者技術(shù)和水平很有限,如果文中出現(xiàn)錯(cuò)誤,希望大家能指正??
?? 感謝大家的關(guān)注!???

?

目錄

???MySQL體系結(jié)構(gòu)

???存儲(chǔ)引擎介紹

???存儲(chǔ)引擎特點(diǎn) (InnoDB、? MyISAM、? Memory的特點(diǎn))

?InnoDB

MyISAM

?Memory

???區(qū)別及特點(diǎn)

?InnoDB引擎與MyISAM引擎的有什么區(qū)別?

??存儲(chǔ)引擎選擇


???MySQL體系結(jié)構(gòu)

MySQL體系結(jié)構(gòu),重拾MySQL-進(jìn)階篇,mysql,數(shù)據(jù)庫(kù)

?客戶端層

客戶端層是 MySQL 的最上層,它包括了連接管理、授權(quán)認(rèn)證、查詢緩存、分析器、優(yōu)化器和執(zhí)行器等組件??蛻舳送ㄟ^連接管理器連接到 MySQL 服務(wù)器,并通過授權(quán)認(rèn)證模塊進(jìn)行身份驗(yàn)證。如果身份驗(yàn)證通過,查詢可以被緩存以提高性能。查詢分析器將 SQL語(yǔ)句解析成語(yǔ)法樹,優(yōu)化器將語(yǔ)法樹轉(zhuǎn)換成可執(zhí)行的查詢計(jì)劃,執(zhí)行器負(fù)責(zé)執(zhí)行查詢計(jì)劃并返回結(jié)果。同樣在該層上可以實(shí)現(xiàn)基于SSL的安全鏈接

?服務(wù)層

?第二層架構(gòu)主要完成大多數(shù)的核心服務(wù)功能,如SQL接口,并完成緩存的查詢,SQL的分析和優(yōu)化,部分內(nèi)置函數(shù)的執(zhí)行。所有跨存儲(chǔ)引擎的功能也在這一層實(shí)現(xiàn),如過程、函數(shù)等。在該層,服務(wù)器會(huì)解析查詢并創(chuàng)建相應(yīng)的內(nèi)部解析樹,并對(duì)其完成相應(yīng)的優(yōu)化如確定表的查詢的順序,是否利用索引等,?? 最后生成相應(yīng)的執(zhí)行操作。如果是select語(yǔ)句,服務(wù)器還會(huì)查詢內(nèi)部的緩存,如果緩存空間足夠大,這樣在解決大量讀操作的環(huán)境中能夠很好的提升系統(tǒng)的性能。

?存儲(chǔ)引擎層

存儲(chǔ)引擎層是 MySQL 的最底層,它負(fù)責(zé)存儲(chǔ)和檢索數(shù)據(jù)。MySQL 支持多種存儲(chǔ)引擎,包括 MyISAM、InnoDB、Memory、CSV、Archive 等。每種存儲(chǔ)引擎都有自己的特點(diǎn)和適用場(chǎng)景。例如,MyISAM 存儲(chǔ)引擎適用于讀密集型應(yīng)用,而 InnoDB 存儲(chǔ)引擎適用于寫密集型應(yīng)用。

在 MySQL 中,客戶端和服務(wù)端可以運(yùn)行在同一臺(tái)機(jī)器上,也可以運(yùn)行在不同的機(jī)器上。存儲(chǔ)引擎可以被視為插件,可以根據(jù)需要進(jìn)行更換。

需要特別注意的!索引是在存儲(chǔ)引擎層實(shí)現(xiàn)的,也就意味著不同的存儲(chǔ)引擎,索引的結(jié)構(gòu)是不一樣的

???存儲(chǔ)引擎介紹

?存儲(chǔ)引擎,mysql數(shù)據(jù)庫(kù)的核心

存儲(chǔ)引擎就是存儲(chǔ)數(shù)據(jù)、建立索引、更新/查詢數(shù)據(jù)等技術(shù)的實(shí)現(xiàn)方式? 。存儲(chǔ)引擎是基于表的,而不是 基于庫(kù)的,所以存儲(chǔ)引擎也可被稱為表類型。我們可以在創(chuàng)建表的時(shí)候,來(lái)指定選擇的存儲(chǔ)引擎,如果沒有指定將自動(dòng)選擇默認(rèn)的存儲(chǔ)引擎。

?建表時(shí)指定存儲(chǔ)引擎

CREATE TABLE  表名 (
字段1  字段1類型    [ COMMENT  字段1注釋 ] ,
......
字段n  字段n類型    [COMMENT  字段n注釋 ]
) ENGINE = INNODB   [ COMMENT  表注釋 ] ;

?查詢當(dāng)前數(shù)據(jù)庫(kù)支持的存儲(chǔ)引擎

show engines;

執(zhí)行:

?MySQL體系結(jié)構(gòu),重拾MySQL-進(jìn)階篇,mysql,數(shù)據(jù)庫(kù)

示例

?查詢建表語(yǔ)句??? --- 默認(rèn)存儲(chǔ)引擎 : InnoDB

show create table account;

MySQL體系結(jié)構(gòu),重拾MySQL-進(jìn)階篇,mysql,數(shù)據(jù)庫(kù)

此時(shí),可以發(fā)現(xiàn),就算建表時(shí)我們沒有去指定存儲(chǔ)引擎,數(shù)據(jù)庫(kù)也會(huì)自動(dòng)選擇默認(rèn)的存儲(chǔ)引擎

?創(chuàng)建表? czh , 指定Memory存儲(chǔ)引擎

create table czh (
   id int,

name varchar (10)
) engine = Memory ;

???存儲(chǔ)引擎特點(diǎn) (InnoDB、? MyISAM、? Memory的特點(diǎn))

?InnoDB

InnoDB是一種兼顧高可靠性和高性能的通用存儲(chǔ)引擎,在? MySQL 5.5 之后,? InnoDB是默認(rèn)的 MySQL 存儲(chǔ)引擎。

特點(diǎn):

事務(wù)支持:InnoDB是MySQL的默認(rèn)存儲(chǔ)引擎,它提供了ACID(原子性、一致性、隔離性和持久性)事務(wù)支持。它支持提交和回滾事務(wù),并具有更好的并發(fā)性能。

行級(jí)鎖定:InnoDB使用行級(jí)鎖定來(lái)實(shí)現(xiàn)并發(fā)控制,允許多個(gè)事務(wù)同時(shí)訪問表中的不同行,提高了并發(fā)性能和數(shù)據(jù)一致性。

外鍵約束:InnoDB支持外鍵約束,可以在表之間建立關(guān)系,保證數(shù)據(jù)的完整性和一致性。

Crash Recovery:InnoDB通過使用事務(wù)日志(redo log)來(lái)實(shí)現(xiàn)崩潰恢復(fù)功能,確保在數(shù)據(jù)庫(kù)崩潰后能夠恢復(fù)到一致的狀態(tài)。

文件

xxx.ibd:? xxx代表的是表名,? innoDB引擎的每張表都會(huì)對(duì)應(yīng)這樣一個(gè)表空間文件,存儲(chǔ)該表的表結(jié) 構(gòu)( frm-早期的? 、? sdi-新版的)、數(shù)據(jù)和索引。

參數(shù):? innodb_file_per_table

show variables  like 'innodb_file_per_table ';

如果該參數(shù)開啟代表對(duì)于InnoDB引擎的表,每一張表都對(duì)應(yīng)一個(gè)ibd文件我們直接打開MySQL數(shù)據(jù)存放目錄:?C:\ProgramData\MySQL\MySQL Server 8.0\Data ,這個(gè)目錄下有很多文件夾,不同的文件夾代表不同的數(shù)據(jù)庫(kù),我們直接打開test文件夾。

查看:

MySQL體系結(jié)構(gòu),重拾MySQL-進(jìn)階篇,mysql,數(shù)據(jù)庫(kù)

可以看到里面有很多的ibd文件,每一個(gè)ibd文件就對(duì)應(yīng)一張表,比如bank表,就是一個(gè)文件bank.ibd,而在這個(gè)ibd文件中不僅存放表結(jié)構(gòu)數(shù)據(jù),還會(huì)存放該表對(duì)應(yīng)的索引信息。

而該文件是基于二進(jìn)制存儲(chǔ)的,不能直接基于記事本打開,我們可以使用mysql提供的一個(gè)指令? ibd2sdi ,通過該指令就可以ibd文件中提取sdi信息,sdi數(shù)據(jù)字典信息中就包含該表的表結(jié)構(gòu)。

執(zhí)行:

MySQL體系結(jié)構(gòu),重拾MySQL-進(jìn)階篇,mysql,數(shù)據(jù)庫(kù)

Innodb邏輯存儲(chǔ)結(jié)構(gòu)

MySQL體系結(jié)構(gòu),重拾MySQL-進(jìn)階篇,mysql,數(shù)據(jù)庫(kù)

?表空間? : InnoDB存儲(chǔ)引擎邏輯結(jié)構(gòu)的最高層,ibd文件其實(shí)就是表空間文件,在表空間中可以包含多個(gè)Segment。InnoDB存儲(chǔ)引擎的表空間包括系統(tǒng)表空間(ibdata文件)和用戶表空間(.ibd文件),系統(tǒng)表空間用于存儲(chǔ)InnoDB引擎的系統(tǒng)信息和共享數(shù)據(jù),用戶表空間用于存儲(chǔ)用戶表的數(shù)據(jù)和索引。

?段? : 表空間是由各個(gè)段組成的,常見的段有數(shù)據(jù)段、索引段、回滾段等。InnoDB中對(duì)于段的管理,都是引擎自身完成,不需要人為對(duì)其控制,一個(gè)段中包含多個(gè)區(qū)。

?區(qū)? : 區(qū)是表空間的單元結(jié)構(gòu),每個(gè)區(qū)的大小為1M是固定的。默認(rèn)情況下,InnoDB存儲(chǔ)引擎頁(yè)大小為16K,即一個(gè)區(qū)中一共有64個(gè)連續(xù)的頁(yè)。

?頁(yè)? : 頁(yè)是組成區(qū)的最小單元,? 頁(yè)也是InnoDB 存儲(chǔ)引擎磁盤管理的最小單元,每個(gè)頁(yè)的大小默認(rèn)為16KB固定的。為了保證頁(yè)的連續(xù)性,? InnoDB 存儲(chǔ)引擎每次從磁盤申請(qǐng)? 4-5 個(gè)區(qū)。

?? : InnoDB 存儲(chǔ)引擎是面向行的,也就是說數(shù)據(jù)是按行進(jìn)行存放的,在每一行中除了定義表時(shí)所指定的字段以外,還包含兩個(gè)隱藏字段

MyISAM

MyISAMMySQL期的默認(rèn)存儲(chǔ)引擎。

特點(diǎn)

表級(jí)鎖定:MyISAM 存儲(chǔ)引擎使用表級(jí)鎖定,這意味著在進(jìn)行寫操作時(shí)會(huì)鎖定整個(gè)表,而不是單獨(dú)的行。這可能導(dǎo)致并發(fā)性能下降,特別是在有大量并發(fā)寫操作的情況下。

不支持事務(wù):與 InnoDB 不同,MyISAM 存儲(chǔ)引擎不支持事務(wù)。這意味著它不具備 ACID(原子性、一致性、隔離性和持久性)屬性,因此在出現(xiàn)故障時(shí)無(wú)法保證數(shù)據(jù)的一致性。

全文索引支持:MyISAM 存儲(chǔ)引擎支持全文索引,這使得在文本數(shù)據(jù)上進(jìn)行高效的全文搜索成為可能。

高性能讀取:MyISAM 存儲(chǔ)引擎在處理大量讀取操作時(shí)具有較高的性能,適用于讀取密集型應(yīng)用。運(yùn)行速度快

不支持外鍵:MyISAM 存儲(chǔ)引擎不支持外鍵約束,因此無(wú)法在表之間建立關(guān)系,這可能會(huì)導(dǎo)致數(shù)據(jù)的完整性和一致性受到影響。

總的來(lái)說,MyISAM 存儲(chǔ)引擎適合于讀取密集型的應(yīng)用,例如數(shù)據(jù)倉(cāng)庫(kù)或者只讀數(shù)據(jù)的報(bào)表生成。然而,在需要事務(wù)支持或者并發(fā)寫入的情況下,InnoDB 存儲(chǔ)引擎通常更為適合。

文件

xxx.sdi存儲(chǔ)表結(jié)構(gòu)信息

xxx.MYD: 存儲(chǔ)數(shù)據(jù)

xxx.MYI: 存儲(chǔ)索引

MySQL體系結(jié)構(gòu),重拾MySQL-進(jìn)階篇,mysql,數(shù)據(jù)庫(kù)

?Memory

Memory引擎的表數(shù)據(jù)時(shí)存儲(chǔ)在內(nèi)存中的由于受到硬件問題、或斷電問題的影響,只能將這些表作為 臨時(shí)表或緩存使用。

特點(diǎn)

基于內(nèi)存:Memory 存儲(chǔ)引擎是基于內(nèi)存的,這意味著所有的數(shù)據(jù)都存儲(chǔ)在內(nèi)存中,而不是磁盤上。這使得 Memory 存儲(chǔ)引擎在處理數(shù)據(jù)時(shí)非??焖?,適用于需要高性能的應(yīng)用。

表級(jí)鎖定:Memory 存儲(chǔ)引擎使用表級(jí)鎖定,這意味著在進(jìn)行寫操作時(shí)會(huì)鎖定整個(gè)表,而不是單獨(dú)的行。這可能導(dǎo)致并發(fā)性能下降,特別是在有大量并發(fā)寫操作的情況下。

不支持事務(wù):與 InnoDB 不同,Memory 存儲(chǔ)引擎不支持事務(wù)。這意味著它不具備 ACID(原子性、一致性、隔離性和持久性)屬性,因此在出現(xiàn)故障時(shí)無(wú)法保證數(shù)據(jù)的一致性。

不支持外鍵:Memory 存儲(chǔ)引擎不支持外鍵約束,因此無(wú)法在表之間建立關(guān)系,這可能會(huì)導(dǎo)致數(shù)據(jù)的完整性和一致性受到影響。

支持 HASH 和 B-TREE 索引:Memory 存儲(chǔ)引擎支持 HASH 和 B-TREE 索引,這使得在內(nèi)存中進(jìn)行高效的數(shù)據(jù)檢索成為可能。

表數(shù)據(jù)存儲(chǔ)在文件中:雖然 Memory 存儲(chǔ)引擎的數(shù)據(jù)存儲(chǔ)在內(nèi)存中,但是表結(jié)構(gòu)和元數(shù)據(jù)是存儲(chǔ)在文件中的。這些文件通常存儲(chǔ)在磁盤上,并且在 MySQL 重啟時(shí)需要重新加載到內(nèi)存中。

總的來(lái)說,Memory 存儲(chǔ)引擎適合于需要高性能的應(yīng)用,例如緩存、會(huì)話管理、臨時(shí)表等。然而,由于其數(shù)據(jù)存儲(chǔ)在內(nèi)存中,因此在內(nèi)存不足的情況下,可能會(huì)導(dǎo)致性能下降或者系統(tǒng)崩潰。此外,由于不支持事務(wù)和外鍵,因此在需要這些功能的應(yīng)用中,Memory 存儲(chǔ)引擎可能不太適合。

文件

xxx.sdi存儲(chǔ)表結(jié)構(gòu)信息

???區(qū)別及特點(diǎn)

點(diǎn)

InnoDB

MyISAM

Memory

存儲(chǔ)限制

64TB

事務(wù)安全

不支持

不支持

機(jī)制

B+tree索引

Hash索引

不支持

不支持

文索引

支持(5.6本之后)

-

間使用

N/A

內(nèi)存使用

批量插入速度

支持外鍵

不支持

不支持

?InnoDB引擎與MyISAM引擎的有什么區(qū)別?

InnoDB 引擎和 MyISAM 引擎是 MySQL 中兩種常用的存儲(chǔ)引擎,它們?cè)诠δ芎吞匦陨嫌幸恍┲匾膮^(qū)別:

事務(wù)支持:?InnoDB 引擎是 MySQL 的事務(wù)性存儲(chǔ)引擎,支持事務(wù)操作(ACID 屬性),可以使用 COMMIT 和 ROLLBACK 控制事務(wù)的提交和回滾。而 MyISAM 引擎不支持事務(wù),它的操作是自動(dòng)提交的。

鎖定級(jí)別:?InnoDB 引擎支持行級(jí)鎖定,這意味著在讀取或修改數(shù)據(jù)時(shí),只鎖定涉及的行,而不是整個(gè)表。這樣可以提高并發(fā)性能,多個(gè)用戶可以同時(shí)讀取和修改不同的行。而 MyISAM 引擎只支持表級(jí)鎖定,這意味著在進(jìn)行寫操作時(shí)會(huì)鎖定整個(gè)表,可能導(dǎo)致并發(fā)性能下降。

崩潰恢復(fù):?InnoDB 引擎具有崩潰恢復(fù)的能力,它可以在數(shù)據(jù)庫(kù)崩潰后自動(dòng)進(jìn)行恢復(fù),保證數(shù)據(jù)的一致性。而 MyISAM 引擎在崩潰后需要進(jìn)行手動(dòng)修復(fù),可能會(huì)導(dǎo)致數(shù)據(jù)丟失或不一致。

索引類型:?InnoDB 引擎支持 B-TREE 索引,用于高效地進(jìn)行數(shù)據(jù)檢索。它還支持全文索引,可以進(jìn)行全文搜索。而 MyISAM 引擎也支持 B-TREE 索引,但不支持全文索引。

外鍵支持:?InnoDB 引擎支持外鍵約束,可以在表之間建立關(guān)系,保證數(shù)據(jù)的完整性和一致性。而 MyISAM 引擎不支持外鍵約束,無(wú)法建立關(guān)系。

性能特點(diǎn):?通常情況下,InnoDB 引擎在處理大量并發(fā)寫入的情況下性能較好,適用于事務(wù)性應(yīng)用,如銀行系統(tǒng)、電子商務(wù)等。而 MyISAM 引擎在讀取密集型應(yīng)用中性能較好,適用于查詢頻繁、寫入較少的應(yīng)用,如新聞網(wǎng)站、博客等。

需要根據(jù)具體的應(yīng)用需求來(lái)選擇合適的存儲(chǔ)引擎,權(quán)衡各種特性和性能。在 MySQL 5.5 版本之后,InnoDB 引擎成為默認(rèn)的存儲(chǔ)引擎,推薦在大多數(shù)情況下使用。

??存儲(chǔ)引擎選擇

選擇數(shù)據(jù)庫(kù)存儲(chǔ)引擎時(shí),需要考慮以下因素,并根據(jù)具體情況進(jìn)行權(quán)衡:

事務(wù)支持:?如果應(yīng)用需要支持事務(wù)(例如銀行系統(tǒng)、電子商務(wù)系統(tǒng)),則應(yīng)選擇支持事務(wù)的存儲(chǔ)引擎,如 InnoDB。事務(wù)支持可以確保數(shù)據(jù)的一致性和完整性。

并發(fā)性能:?如果應(yīng)用需要處理大量的并發(fā)寫入操作,例如社交網(wǎng)絡(luò)、在線游戲等,應(yīng)選擇支持高并發(fā)寫入的存儲(chǔ)引擎,如 InnoDB。其行級(jí)鎖定可以提高并發(fā)性能。

讀取性能:?如果應(yīng)用主要是讀取密集型的,例如新聞網(wǎng)站、博客等,可以選擇讀取性能較好的存儲(chǔ)引擎,如 MyISAM。表級(jí)鎖定在讀取操作中可能不會(huì)成為性能瓶頸。

數(shù)據(jù)完整性:?如果應(yīng)用需要建立復(fù)雜的數(shù)據(jù)關(guān)系,需要外鍵約束來(lái)保證數(shù)據(jù)完整性和一致性,應(yīng)選擇支持外鍵約束的存儲(chǔ)引擎,如 InnoDB。

崩潰恢復(fù):?如果應(yīng)用對(duì)于數(shù)據(jù)庫(kù)的崩潰恢復(fù)能力要求較高,需要自動(dòng)進(jìn)行恢復(fù)以確保數(shù)據(jù)一致性,應(yīng)選擇具有崩潰恢復(fù)能力的存儲(chǔ)引擎,如 InnoDB。

全文搜索:?如果應(yīng)用需要進(jìn)行全文搜索,如博客的文章搜索等,應(yīng)選擇支持全文索引的存儲(chǔ)引擎,如 InnoDB 或 MyISAM。

內(nèi)存需求:?如果應(yīng)用需要高性能的數(shù)據(jù)存取,可以考慮使用Memory存儲(chǔ)引擎,將數(shù)據(jù)存儲(chǔ)在內(nèi)存中,以提高訪問速度。

數(shù)據(jù)量和性能需求:?最后,需要考慮應(yīng)用的數(shù)據(jù)量和性能需求。某些存儲(chǔ)引擎在處理大規(guī)模數(shù)據(jù)時(shí)可能表現(xiàn)更優(yōu)秀,而在小規(guī)模數(shù)據(jù)下可能沒有太大優(yōu)勢(shì)。

InnoDB: 是Mysql的默認(rèn)存儲(chǔ)引擎,支持事務(wù)、外鍵。如果應(yīng)用對(duì)事務(wù)的完整性有比較高的要求,在并發(fā)條件下要求數(shù)據(jù)的一致性,數(shù)據(jù)操作除了插入和查詢之外,還包含很多的更新、刪除操作,那么InnoDB存儲(chǔ)引擎是比較合適的選擇。

MyISAM:如果應(yīng)用是以讀操作和插入操作為主,只有很少的更新和刪除操作,并且對(duì)事務(wù)的完整性、并發(fā)性要求不是很高,那么選擇這個(gè)存儲(chǔ)引擎是非常合適的。

MEMORY:將所有數(shù)據(jù)保存在內(nèi)存中,訪問速度快,通常用于臨時(shí)表及緩存。? MEMORY的缺陷就是對(duì)表的大小有限制,太大的表無(wú)法緩存在內(nèi)存中,而且無(wú)法保障數(shù)據(jù)的安全性。

總的來(lái)說,需要綜合考慮應(yīng)用的讀寫比例、事務(wù)需求、數(shù)據(jù)完整性、并發(fā)性能等方面的需求,以及存儲(chǔ)引擎的特性和限制,來(lái)選擇最適合的存儲(chǔ)引擎。在實(shí)際應(yīng)用中,也可以根據(jù)具體情況進(jìn)行測(cè)試和評(píng)估,以確定最佳的存儲(chǔ)引擎選擇。


這篇博客就到這里啦,希望對(duì)你有幫助!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-813432.html

到了這里,關(guān)于MySQL體系結(jié)構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包