作為目前主流的NoSQL技術,redis在Java網際網路中得到了非常廣泛的使用,個時程式碼程式碼的禿頭人員,對Redis肯定是不陌生的,如果連Redis都沒用過,還真不好意思出去面試,指不定被面試官吊打多少次。為什麼Redis現在這麼的熱門呢,因為redis有著很多的優點:
- 響應速度極快
- 支援六種資料型別
- 操作都是原子的
- MultiUtility 工具
它還能夠滿足網際網路高併發需要進行高速處理資料的場合,比如說搶紅包、商品秒殺等場景,這些場景都需要高速處理,並保證併發資料安全和一致性。
現在網際網路公司和一些創業公司都要用到Redis,像亞馬遜、谷歌、阿里、騰訊都要使用,可見精通Redis使用真的很有必要。
我看過不少的關於redis的學籍,以及一些學習筆記,雖然都還不錯,但是能夠從淺深入到原始碼的卻很少,前幾天看到的一份來阿里大牛自產的“Redis深度筆記”,起碼是我目前看到過的最完善,最有深度的一份筆記了(篇幅有限,完整版PDF文件點選此處免費領取)。
筆記大概分為以下幾個部分:
- 開篇基礎部分
- 九大應用部分
- 八大原理部分
- 三大叢集部分
- 九大擴充部分
- 七大原始碼部分
一、開篇基礎部分
- 開篇:授人以魚不若授人以魚-Redis可以用來做什麼
- 基礎:萬丈高樓平地起-Redis基礎資料結構
二、九大應用部分
- 千帆競發-分散式鎖
- 緩兵之計-延時佇列
- 節衣縮食-點陣圖
- 四兩撥千斤-HyperLogLog
- 層巒疊嶂-布隆過濾器
- 斷尾求生-簡單限流
- 一毛不拔-漏斗限流
- 近水樓臺-GeoHash
- 大海撈針-Scan
三、八大原理部分
- 鞭辟入裡-執行緒IO模型
- 交頭接耳-通訊協議
- 未雨綢繆-持久化
- 雷厲風行-管道
- 同舟共濟-事務
- 小道訊息-PubSub
- 開源節流-小物件壓縮
- 有備無患-主從同步
四、三大叢集部分
- 李代桃僵-Sentinel
- 分而治之-Codis
- 眾志成城-Cluster
五、九大擴充部分
- 耳聽八方-Stream
- 無所不知-Info指令
- 拾遺漏補-再談分散式鎖
- 朝生暮死-過期策略
- 優勝劣汰-LRU
- 平波緩進-懶惰刪除
- 妙手仁心-優雅地使用Jedis
- 居安思危-保護Redis
- 隔牆有耳- Redis安全通訊
六、七大原始碼部分
- 極度深寒-探索(字串符)內部結構
- 極度深寒-探索(字典)內部
- 極度深寒-探索(壓縮列表)內部
- 極度深寒-探索(快速列表)內部
- 極度深寒-探索(跳躍列表)內部結構
- 極度深寒-探索(緊湊列表)結構
- 極度深寒-探索(基數樹)結構
Redis 涉及的知識點是非常繁多的,雖然作者已經瘋狂擴充了不少進階和壓箱底的內容,但本小冊依然無法顧及到 Redis 的方方面面,對於那些渴望進一步擴充知識的同學,還是要多學習。