天天看點

Redis 學習路線

學習和使用 Redis 一般可以分為以下四個階段:

  1. 初學者入門
  2. 進階實戰
  3. 了解原理
  4. 貢獻和開發

本文接下來将在四個小節裡面分别對這四個階段進行介紹。

初學者入門

如果你隻是對 Redis 感興趣, 又或者聽别人說過一些關于 Redis 的介紹, 但是卻并沒有實際使用過 Redis , 那麼你就處于 Redis 初學者這一階段。

Redis 初學者可以考慮使用《Redis入門指南(第2版)》作為教程, 并輔以《Redis指令參考》文檔作為參考。

《Redis入門指南》是 ioredis 、 medis 等項目的作者 luin 的作品, 該書深入淺出地介紹了 Redis 的主要特性、基本指令以及使用方法, 整本書的篇幅不多, 行文簡單, 很容易就能夠看完。 初學者可以通過閱讀這本書知道 Redis 是什麼以及它能做什麼。

因為篇幅所限, 《Redis入門指南》并沒有對 Redis 的各個指令展開進行介紹, 是以如果讀者想要進一步了解某個指令的詳細用法和相關資訊, 那麼可以通過《Redis指令參考》進行查詢。

在閱讀了《Redis入門指南》和《Redis指令參考》之後, 初學者應該對 Redis 的功能、作用以及使用方法有了基本的了解, 并能夠使用 Redis 去解決一些簡單的問題。 在此之後, 初學者就可以向下一階段進發, 考慮如何将 Redis 應用到實際的工作當中。

擴充閱讀

除了《Redis入門指南》和《Redis指令參考》之外, 以下列出的一些資料也值得 Redis 初學者去觀看和閱讀:

  • 《Redis課程》系列視訊: http://my.tv.sohu.com/pl/9102138/index.shtml
  • Redis 官方網站上的入門介紹文章(英文,可能需要翻牆通路): http://redis.io/topics/data-types-intro
  • 《What is Redis?》系列文章(英文,可能需要翻牆通路): https://matt.sh/what-is-redis

進階實戰

學習 Redis 的第二個階段是進階實戰階段, 處于這一階段的 Redis 學習者應該對 Redis 有了基本的了解, 熟悉 Redis 各個指令以及各項特性的基本用法, 但還是不太清楚應該如何使用 Redis 去解決自己在工作上遇到的問題。

為此, 處于這一階段的 Redis 學習者可以通過閱讀《Redis實戰》一書以及其他 Redis 使用者分享的心得來提高自己使用 Redis 的能力。

《Redis實戰》一書是 Redis Group 讨論組中的熱門發言者 Josiah Carlson 所作, 該書通過實際的例子, 展示了使用 Redis 建構多種不同的應用程式的方法。 處于進階階段的 Redis 學習者可以通過閱讀該書來學習如何使用 Redis 去建構實際的應用, 然後舉一反三, 把書中介紹的程式和方法應用到自己遇到的問題上。

除了《Redis實戰》之外, 國内外的很多公司(比如twitter、新浪微網誌等)都在網上公布了他們使用 Redis 的方法、心得和經驗, Redis 學習者可以通過這些分享中了解到更多使用 Redis 的例子, 以及這些公司在使用 Redis 過程中遇到的問題、困難和陷阱, 進而學會如何在實際中更好地使用和管理 Redis 。

實踐使用 Redis 的另一個難點是如何在大規模的資料環境中使用 Redis , 要解決這個問題就需要對 Redis 進行擴充: 目前擴充 Redis 常見的技術包括 Redis 自帶的複制(replication) 、Sentinel 和 Cluster 功能, 以及 twemproxy 和 codis 等項目, Redis 使用者可以通過這些技術的相關文檔來學習如何使用這些技術。

了解原理

在弄懂了如何在實際中使用 Redis 之後, 我們要考慮的就是如何解決 Redis 在使用過程中引發的問題; 如何優化 Redis 的性能; 如何對 Redis 進行二次開發, 使得它可以符合自己的某些要求; 又或者準備去開發一個自家公司特有的類 Redis 資料庫。

為了達到這些目的, 我們必須對 Redis 的運作原理和内部結構有所了解。 要做到這一點, 我們必須深入地研讀 Redis 的源碼:https://github.com/antirez/redis 。

除了 Redis 源碼之外, 一個比較好的學習 Redis 内部原理的資料就是《Redis設計與實作》一書, 并且該書也附帶了一個帶有注釋的 Redis 源碼項目。 通過同時閱讀書本和帶注釋的源代碼, 讀者能夠快速地了解到 Redis 的内部構造, 以及各項主要功能的實作原理。

貢獻和開發

在了解了 Redis 的原理之後, 我們可以考慮向 Redis 項目貢獻代碼, 又或者開發自己的類 Redis 資料庫。

除了以上兩點之外, 我們還可以考慮通過 Redis 最新的可載入子產品系統(loadable module system), 以編寫子產品的方式來為 Redis 添加新功能: http://antirez.com/news/106 。

結語

好的, 關于 Redis 學習資料的介紹就到此結束, 希望這些資料會對正在學習和使用 Redis 的朋友們帶來幫助。

利益申明:本文作者是《Redis指令參考》和《Redis實戰》的譯者,《Redis設計與實作》的作者。

黃健宏(huangz)

2016.5.24

版權聲明

版權聲明:本文為CSDN部落客「weixin_34319999」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_34319999/article/details/91978705