搜尋

首頁  >  問答  >  主體

redis 搭配 SQL 實作問題

團隊準備做一套係統,因為考慮到後期的高並發的問題,所以想在開始階段就將 NOSQL 設計進來。

不想把 redis 做的和memcached作用一樣,隻是簡單的緩存。想將 redis 設計成數據的中間層。大概流程如下:

沒有太多的開發經驗,這樣做的目的就是為了讀取和寫入的分離,而且利用redis的優勢,降低熱數據的讀寫造成的損耗。

有類似經驗的希望提出需要改進的地方,或者這個整個就是個不好的方案。

- - - 3月12日更新內容 - - -

今天又看了百度數據庫中間層的PPT,於是特意去搜索了dbproxy的相關內容,思想中介紹說是通過sql語句的MD5值匹配進行緩存的選擇,這樣的問題是很容易造成數據更新的延時。於是我又想到了我自己的方案,將 redis 和 SQL 數據庫搭配做成數據庫中間層,這樣是不是就可以迎合對數據實時要求很高的應用了。

- - - 3月13日更新內容 - - -

和評論中的 @魚丸粗麵 討論了下 http://www.oschina.net/p/mysql-syncer 這個項目,這個項目更多的是通過首先更新到 Mysql,然後再根據Mysql的更新內容去更新 其他數據庫例如redis。有一個問題很明顯,就是高並發下寫入Mysql是個可怕的事情,所以我之前想到的是直接更新redis然後異步更新Mysql,最後將redis作為緩衝層。如下圖(來自新浪某PPT)

黄舟黄舟2799 天前697

全部回覆(1)我來回復

  • 怪我咯

    怪我咯2017-04-21 10:58:57

    感覺更新redis時將sql入隊列然後再操作。控制好邏輯即可。

    回覆
    0
  • 取消回覆