一 前言
Redis源碼研究為什么先介紹整體結構呢?其實也很簡單,作為程序員的,要想對一個項目有快速的認知,對項目整體目錄結構有一個清晰認識,有助于我們更好的了解這個系統。
二 目錄結構
Redis源碼download到本地之后,對應結構如下:
從上面的截圖可以看出,Redis源碼一共包含了deps、src、tests、utils四個子目錄,每個子目錄的說明如下:
2.1 deps目錄
主要是Redis源碼依賴的第三方代碼庫,包括C語言版本的客戶端代碼 hiredis、jemalloc 內存分配器代碼、readline 功能的替代代碼 linenoise,以及 lua 腳本代碼,最新源碼里面還有浮點轉字符串的代碼庫fpconv和實現高范圍直方圖的hdr_histogram。
2.2 src目錄
這個目錄是Redis源碼最重要的目錄,也是需要重點研究的目錄,因為這里面是 Redis 所有功能模塊的代碼文件。目錄下有各功能的源碼,還有一個modules目錄,里面是實例代碼。
2.3 tests目錄
根據名稱,就知道,這個目錄下是Redis源碼下所有的測試代碼,包括功能模塊測試和單元測試。具體分類和作用見下圖: