首頁  >  問答  >  主體

mysql - 瞬间流量很高的网站,要频繁的插入数据到数据库,应该怎么解决这个问题?

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

PHP中文网PHP中文网2743 天前769

全部回覆(7)我來回復

  • 大家讲道理

    大家讲道理2017-04-17 15:17:45

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

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 15:17:45

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

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 15:17:45

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

    回覆
    0
  • 黄舟

    黄舟2017-04-17 15:17:45

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

    回覆
    0
  • 迷茫

    迷茫2017-04-17 15:17:45

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

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 15:17:45

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

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 15:17:45

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

    回覆
    0
  • 取消回覆