PHP 結合 MySQL 千萬級數據處理

mysql 分表思路

image

一張一億的訂單表,可以分成五張表,這樣每張表就只有兩千萬數據,分擔了原來一張表的壓力,分表需要根據某個條件進行分,這里可以根據地區來分表,需要一個中間件來控制到底是去哪張表去找到自己想要的數據。

中間件:根據主表的自增 id 作為中間件(什么樣的字段適合做中間件?要具備唯一性)

怎么分發?主表插入之后返回一個 id,根據這個 id 和表的數量進行取模,余數是幾就往哪張表中插入數據。

注意:子表中的 id 要與主表的 id 保持一致

以后只有插入操作會用到主表,修改,刪除,讀取,均不需要用到主表


image

redis 消息隊列

1,什么是消息隊列?
消息傳播過程中保存消息的容器

2,消息隊列產生的歷史原因

image

消息隊列的特點:先進先出

把要執行的 sql 語句先保存在消息隊列中,然后依次按照順利異步插入的數據庫中

應用:新浪,把瞬間的評論先放入消息隊列,然后通過定時任務把消息隊列里面的 sql 語句依次插入到數據庫中

修改

操作子表進行修改

image

這樣修改有一個問題,主表和子表的數據會出現不一致,如何讓主表和字表數據一致?

redis 隊列保持主表子表數據一致

修改完成后將要修改主表的數據,存入 redis 隊列中

image

然后 linux 定時任務(contble)循環執行 redis 隊列中的 sql 語句,同步更新主表的內容


image.png

mysql 分布式之分表(查,刪)

查詢只需要查詢子表,不要查詢總表

image.png

刪除,先根據 id 找到要刪除的子表,然后刪除,然后往消息隊列中壓入一條刪除總表數據的 sql 語句
然后執行定時任務刪除總表數據

image.png

定時任務:

image.png

mysql 分布式之分庫

分庫思路

image

分庫原理圖:

image.png

image.png

mysql 分布式之分庫(增)


image

注意:操作完一個數據庫一定要把數據庫連接關閉,不然 mysql 會以為一直連接的同一個數據庫

還是取模確定加載哪個配置文件連接哪個數據庫

image

mysql 分布式之分庫(改)

原理同新增

image

mysql 分布式之分庫(查,刪)

原理類似

image.png

刪除

image

執行隊列

mysql 分布式之緩存(memcache)的應用
將數據放入緩存中,節省數據庫開銷,先去緩存中查,如果有直接取出,如果沒有,去數據庫查,然后存入緩存中


image.png

在編輯信息之后需要刪除緩存,不然一直讀取的是緩存的數據而不是修改過的數據

image.png

我的官方群點擊此處加入群聊【PHP/web/高級學習交流群】,一起學習,相互討論。

群內已經有管理將知識體系整理好(源碼,學習視頻等資料),歡迎加群免費領取

這套精品PHP教程絕不是市場上的那些妖艷賤貨可比,作為web開發的佼佼者PHP并不遜色其他語言,加上Swoole后更加是如虎添翼!進軍通信 、物聯網行業開發百度地圖、百度訂單中心、虎牙、戰旗TV等!寒冬裁員期過后正是各大企業擴大招人的時期,現在市場初級程序員泛濫,進階中高級程序員絕對是各大企業急需的人才,這套學習教程適合那些1-5年以內的PHP開發者正處于瓶頸期,想要突破自己進階中高級、架構師!名額有限,先到先得!

原文:PHP 結合 MySQL 千萬級數據處理

騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)?

部分資料截圖:

image
image

[圖片上傳失敗...(image-8dcca9-1594024531249)]

還有限時精品福利:

★騰訊高級PHP工程師筆試題目

★億級PV高并發場景訂單的處理

★laravel開發天貓商城組件服務

★戰旗TV視頻直播的架構項目實戰

掃描下面二維碼領取

https://qm.qq.com/cgi-bin/qm/qr?k=tnc-MbbNXPn5psmmPtjh0VPlxH-g4Mtq&authKey=xT5SnnVXhzkkXIIgP0E2YmSexJDtvy0jiVMlSjIb8TbChYuG98yysUeas7jWUy/S&noverify=0 (二維碼自動識別)

對PHP后端技術,對PHP架構技術感興趣的朋友,我的官方群點擊此處,一起學習,相互討論。

群內已經有管理將知識體系整理好(源碼,學習視頻等資料),歡迎加群免費領取。

本課程深度對標騰訊T3-T4標準,貼身打造學習計劃為web開發人員進階中高級、架構師提升技術,為自己增值漲薪!加入BAT特訓營還可以獲得內推大廠名額以及GO語言學習權限!!!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。