一塊兒學習redis源碼

redis的一些介紹,麻煩閱讀前面的幾篇文章,想對redis的詳細實現有所瞭解,強力推薦《redis設計與實現》(不單單從做者那兒學習到redis的實現,還有項目的管理、思想等,做者可能比你我都年輕歐)。若是閱讀了上面的文檔,激起你對redis的強力好奇,那麼就只能閱讀源碼了。無論是在校學生,仍是已工做的,redis的代碼都值得閱讀。咱們能夠了解如何編寫一個工程可用軟件,能夠學習一些開源經常使用軟件,經過redis豐富的數據結構,能夠熟悉大學學習的那點兒數據結構,能夠了解如何實現一個本身高效的網絡框架等等。html

我看到有人介紹redis源代碼的閱讀方法以下:redis

  1. 自底向上:從耦合關係最小的模塊開始讀,而後逐漸過分到關係緊密的模塊。就好像寫程序的測試同樣,先從單元測試開始,而後纔到功能測試。我在剛開始讀 Redis 源碼的時候,使用的就是這種方法:先從單獨的數據結構模塊開始,而後再過渡到高層的功能模塊。數據庫

  2. 從功能入手:經過文件名(模塊名)和函數名,快速定位到一個功能的具體實現,而後追蹤整個實現的運做流程,從而瞭解該功能的實現方式。我在讀阻塞列表、數據庫這種流程和功能都比較複雜,和其餘文件耦合也比較多的模塊時,使用的就是這樣的方法。網絡

  3. 自頂向下:從程序的 main() 函數,或者某個特別大的調用者函數爲入口,以深度優先或者廣度優先的方式閱讀它的源碼。我在閱讀 redis.c/serverCron() 、 redis.c/main() 和 ae.c/aeMain() 這種有明顯調用者性質的函數時,使用的就是這樣的方法。數據結構

我以爲不錯,能夠做爲參考歐。框架

你是吧如今就準備動手了,可是一我的閱讀代碼,寫文檔比較枯燥,懼怕本身堅持不住,而且我的能力有些,有可能對有些代碼理解錯誤或者不能覺察做者的用意。所以準備探索一種新的代碼閱讀模式,經過一個開源項目和一個qq羣把你們團結起來,開源項目的提交人必須是有限的,可是正在閱讀代碼的人可能不少,發現了問題不能及時反饋或者諮詢,QQ羣比較及時。開源項目是一個代碼分析的文檔,restructured text格式,使用sphinx進行生成各類文檔格式。sphinx的使用能夠參考:( sphinx命令 繪圖)等。尋找四個有興趣的小夥伴能夠進行編輯,別的小夥伴就很差意思了,由於bitbucket只能免費支持五個,只能在qq羣反饋意見。函數

 

爲了創建信任,就作一下自我介紹:2012年畢業於西安電子科技大學,如今就任於一家深圳網絡公司,從一進公司就是作數據倉庫這一起的,公司使用的是自研的系統,詳細就不太方便介紹。對大數據比較感興趣,同時也在瞭解一些hadoop、spark的知識。可是,這是第一次進行這樣的嘗試,如有什麼好的建議歡迎提給樓主歐。oop

項目地址:https://bitbucket.org/softfree/redis_doc單元測試

點擊連接加入羣【redis】學習

redis源碼解析 http://redissrc.readthedocs.org/en/latest/

若是想成爲文檔編輯者可郵件,最好作一下簡單自我介紹:371387455(at)qq.com

複製去Google翻譯 翻譯結果
http://redissrc.readthedocs.org/en/latest/
相關文章
相關標籤/搜索