親愛的讀者,你好。見字如面,我是碼哥,可以叫我靚仔。
簡單自我介紹下:《Redis 高手心法》作者,後端架構師,InfoQ 簽約作者,擅長 Redis、MySQL、Kafka Spring Cloud,對雲原生微服務架構有深入研究。喜歡用簡潔、風趣的語言深入淺出的講解技術。

在 2021 ~2023 年期間,我在公眾號、思否、InfoQ、CSDN、博客園、騰訊開發者社區等平臺發表了 40+ 篇 Redis 技術相關文章。
電子工業出版社的張晶老師找到我,希望我能整理出一本關於 Redis 的書籍。
直到 2024 年 8 月 1 號,我人生的第一本書《Redis 高手心法》終於出版了。
01 如何與 Redis 結緣
Redis 是廣受歡迎的 NoSQL 數據庫,唯快不破是他的特點,官方的性能測試數據更是達到 10w TPS。
不管在互聯網大廠、小廠,大項目和小項目中,幾乎都會使用 Redis,它成了互聯網人的香餑餑。
然而,早在我剛參加工作那幾年,在實際工作中,我發現自己只會簡單的使用 Sting 類型的 SET
、GET
指令,對 Redis 整體上沒有一個完整的知識系統,更不用說了解底層實現原理了,並不能把 Redis 的威力發揮出來。
甚至遇到 Redis 運行特變慢的場景,還一度懷疑 Redis 是不是吹牛,根本不快。
學習並深入瞭解 Redis 過程中,才知道自己用錯了,比如沒有合理使用 Redis 的數據類型去解決特定的場景、持久化策略設置不合理,沒有合理設置緩存時間、Bigkey 拖慢整個 Redis 運行….
後來,我就從官方文檔深入研究,閱讀一些前人寫過的書籍,下載源碼去探索 Redis 唯快不破的秘密。
對於一門技術,如果只接觸了零散的技術點,沒有在腦海裡建立⼀個完整的知識框架和架構體系,沒有系統觀,就會很吃力,而且會出現一看好像會,過後就忘記,⼀臉懵逼的情況。
擁有了系統觀,你才能有依據、有章法地定位和解決問題。於是就開啟了深入學習 Redis 之路,與 Redis 結下不解之緣。
02 我是如何編寫這本書的?
我原本以為這會是個輕鬆的任務,然而實際上,自從簽下約稿合同到正式出版,經歷了兩年之久。
Chaya:碼哥,Redis 這麼快,你咋就這麼慢呢?從牽手戀愛到生娃都沒你這麼久。
編寫書的話,要求嚴格多了,語言要精準正確,不能存在錯別字和語病,內容需要循序漸進有層次感,還要經過出版社老師的多次審核、校正,每一段話和文字都是我們精心「雕刻」的成果。
除此之外,我花了很多時間重新梳理了 Redis 技術架構。
本書基於 Redis 7.0 版本的源碼來講解,並建立了一個完整的 Redis 知識框架,從更深層次的角度挖掘底層實現原理,並儘量用風趣幽默的語言和 158 張圖片解釋難懂的技術點。

⼀起搭建⼀套完整的知識框架, 學會從全局視角整理整個知識體系。
03 風趣幽默的語言和精美圖片
從 Redis 的第一人稱視角出發,擬人故事化方式和詼諧幽默的言語與各路“神仙”對話。
配合 158 張圖,由淺入深循序漸進的講解 Redis 的數據結構實現原理、開發技巧、運維技術和高階使用,讓人輕鬆愉快地學習。
截取書中部分內容……


主從庫第一次複製過程大體可以分為 3 個階段:建立連接階段(準備階段)、同步數據階段、發送同步期間接收的新寫命令到 slave 階段。

在講解哨兵集群實現機制的時候,生動形象的用「微信群」來講解 Redis 如何利用發佈/訂閱機制實現哨兵通信。
哨兵之間可以互相感知發現,這歸功於 Redis 的發佈/訂閱機制。
當哨兵與 master 建立 連接後,使用發佈/訂閱機制在特殊的頻道發佈自己的信息,例如 IP 地址和端口,同時訂閱該 頻道獲取其他哨兵發佈的消息。
master 有一個 sentinel:hello 的專用通道,用於哨兵之間發佈和訂閱消息。
可以比喻 為哨兵利用 master 建立的sentinel:hello 微信群發佈自己的消息,同時關注其他哨兵發佈的消息。

任何哨兵判斷 master 主觀下線後,都會向其他哨兵發送 is-master-down-by- addr 命令, 其他哨兵收到命令後則根據自己與 master 之間的連接狀況分別響應 Y 或者 N,Y 表示贊成, N 表示反對。
如果某個哨兵獲得了大多數哨兵的贊成票,就標記 master 為客觀下線。

新書有幸進入京東熱銷榜榜首!

看下本書的實拍圖。


04 超級品類日優惠
現在新書上市,優惠力度很大,原價 100,現在 5 折優惠,只需要 50 元。再加上京東開啟圖書超級品類日(8.29~8.30)優惠(滿 100 減 30、滿 200 減 60、滿 300 減 100),現在絕對是下單的最好時機。
往期推薦