回覆列表
  • 1 # 猿話

    你這樣問,大概是沒明白Redis在實際工作中的使用場景。

    Redis 是一個開源(BSD許可)的,記憶體中的資料結構儲存系統,它可以用作資料庫、快取和訊息中介軟體。

    它的使用場景主要有以下幾個:

    會話快取(Session Cache)全頁快取(FPC)佇列排行榜/計數器釋出/訂閱

    由以上我們可以看出,Redis在實際工作中,並不是像Mysql等關係型資料庫一樣用來儲存資料,而是在Mysql資料之前,作為一箇中間件或者是快取伺服器,來保護Mysql等關係型資料庫。

    實際上,目前許多大型網際網路專案都會選用MySQL(或任何關係型資料庫) + NoSQL的組合方案。

    關係型資料庫適合儲存結構化資料,如使用者的帳號、地址:這些資料通常需要做結構化查詢(嗯,好像是廢話),比如join,這時候,關係型資料庫就要勝出一籌這些資料的規模、增長的速度通常是可以預期的事務性、一致性

    NoSQL適合儲存非結構化資料,如文章、評論:

    這些資料通常用於模糊處理,如全文搜尋、機器學習

    這些資料是海量的,而且增長的速度是難以預期的,

    根據資料的特點,NoSQL資料庫通常具有無限(至少接近)伸縮性

    按key獲取資料效率很高,但是對join或其他結構化查詢的支援就比較差

  • 2 # 驢贊

    redis是記憶體型資料庫,mysql是硬碟型資料庫,需要長久儲存的就存mysql,不需要長期儲存切頻繁更新的就存redis,他們之間不需要同步!不然就是多此一舉,效能反而更差!

  • 中秋節和大豐收的關聯?
  • lol英雄聯盟哪些英雄好打男槍?