[Redis知識體系] 一文全面總結Redis知識體系

pdai發表於2021-03-10

♥Redis教程 - Redis知識體系詳解♥

本系列主要對Redis知識體系進行詳解。@pdai

知識體系

知識體系

相關文章

首先,我們通過學習Redis的概念基礎,瞭解它適用的場景。

  • Redis入門 - Redis概念和基礎
    • Redis是一種支援key-value等多種資料結構的儲存系統。可用於快取,事件釋出或訂閱,高速佇列等場景。支援網路,提供字串,雜湊,列表,佇列,集合結構直接存取,基於記憶體,可持久化。

其次,這些適用場景都是基於Redis支援的資料型別的,所以我們需要學習它支援的資料型別;同時在redis優化中還需要對底層資料結構瞭解,所以也需要了解一些底層資料結構的設計和實現。

再者,需要學習Redis支援的核心功能,包括持久化,訊息,事務,高可用;高可用方面包括,主從,哨兵等;高可擴充方面,比如 分片機制等。

  • Redis進階 - 持久化:RDB和AOF機制詳解
    • 為了防止資料丟失以及服務重啟時能夠恢復資料,Redis支援資料的持久化,主要分為兩種方式,分別是RDB和AOF; 當然實際場景下還會使用這兩種的混合模式。
  • Redis進階 - 訊息傳遞:釋出訂閱模式詳解
    • Redis 釋出訂閱(pub/sub)是一種訊息通訊模式:傳送者(pub)傳送訊息,訂閱者(sub)接收訊息。
  • Redis進階 - 事件:Redis事件機制詳解
    • Redis 採用事件驅動機制來處理大量的網路IO。它並沒有使用 libevent 或者 libev 這樣的成熟開源方案,而是自己實現一個非常簡潔的事件驅動庫 ae_event。
  • Redis進階 - 事務:Redis事務詳解
    • Redis 事務的本質是一組命令的集合。事務支援一次執行多個命令,一個事務中所有命令都會被序列化。在事務執行過程,會按照順序序列化執行佇列中的命令,其他客戶端提交的命令請求不會插入到事務執行命令序列中。
  • Redis進階 - 高可用:主從複製詳解
    • 我們知道要避免單點故障,即保證高可用,便需要冗餘(副本)方式提供叢集服務。而Redis 提供了主從庫模式,以保證資料副本的一致,主從庫之間採用的是讀寫分離的方式。本文主要闡述Redis的主從複製。
  • Redis進階 - 高可用:哨兵機制(Redis Sentinel)詳解
    • 在上文主從複製的基礎上,如果注節點出現故障該怎麼辦呢? 在 Redis 主從叢集中,哨兵機制是實現主從庫自動切換的關鍵機制,它有效地解決了主從複製模式下故障轉移的問題。
  • Redis進階 - 高可擴充:分片技術(Redis Cluster)詳解
    • 前面兩篇文章,主從複製和哨兵機制保障了高可用,就讀寫分離而言雖然slave節點來擴充套件主從的讀併發能力,但是寫能力和儲存能力是無法進行擴充套件的,就只能是master節點能夠承載的上限。如果面對海量資料那麼必然需要構建master(主節點分片)之間的叢集,同時必然需要吸收高可用(主從複製和哨兵機制)能力,即每個master分片節點還需要有slave節點,這是分散式系統中典型的縱向擴充套件(叢集的分片技術)的體現;所以在Redis 3.0版本中對應的設計就是Redis Cluster。

最後,就是具體的實踐以及實踐中遇到的問題和解決方法了:在不同版本中有不同特性,所以還需要了解版本;以及效能優化,大廠實踐等。

學習資料

除此之外,我還推薦你看下 極客時間 《Redis核心技術與實戰》(作者:蔣德鈞)的相關內容,它是我看到的為數不多的含有實戰經驗比較多的專欄,部分文章中圖片也來源於這個系列。

相關文章