mysql - 瞬间流量很高的网站,要频繁的插入数据到数据库,应该怎么解决这个问题?
PHP中文网
PHP中文网 2017-04-17 15:15:45
0
7
761

瞬间流量很高的网站,要频繁的插入数据到数据库,怎么才能解决速度慢的问题?要用到什么技术?

PHP中文网
PHP中文网

认证0级讲师

全部回覆(7)
大家讲道理

1、分散式部署的資料庫,增加瞬時插入效能
2、如果業務允許,採用訊息佇列非同步插入
3、使用redis之類的做緩存,再異步插入資料庫
3 、對於插入操作頻繁,又不需要關聯查詢的數據,可以選擇使用mongo這樣非關係型的資料庫

刘奇

如果對實時性要求不是很高的話,可以用redis做一個中間層接收數據,然後後台定時或用消息訂閱機制從redis拉取數據並批量寫入數據庫。

大家讲道理
  1. 考慮最佳化儲存結構2. 有條件考慮多機多資料庫多進程。 3. 配連接池,配中間件(訊息佇列)中間資料庫(redis)4. 多執行緒…

黄舟

你可以搜尋類似 淘寶每秒14萬訂單 之類的東西作為借鏡。這個東西沒有一成不變的方案。
簡單說就是用redis之類的服務端快取處理請求。

迷茫

應該還可以考慮下訊息佇列

小葫芦

加入快取機制,做負載平衡都可以試試

大家讲道理

1 看日誌找到請求過高的請求地址,先找出原因,看能否避免,是否是必要的操作
2 根據業務需求寫mysql觸發器,把這個工作交給mysql來做
3 使用swoole 非同步插入入資料庫
4 可以用多執行緒佇列
5 資料不要直接寫入資料庫,可以先寫入redis

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!