[預(yù)告] [3月8日] 《Redis 設(shè)計(jì)與實(shí)現(xiàn)》
[預(yù)告] [3月8日] 《Redis 設(shè)計(jì)與實(shí)現(xiàn)》
2013-02-28 10:36:27自從開始在博客斷斷續(xù)續(xù)地寫一些 Redis 的源碼分析文章以來,我一直有這樣一個(gè)打算:不是間隔地、分多次地寫多篇 Redis 的源碼分析文章,而是抽出一段時(shí)間,對 Redis 的源碼做一次完整的分析,并將其中的關(guān)鍵點(diǎn)、以及有趣的部分記錄下來,集結(jié)成一個(gè)文檔(或者更通俗地說,一本書?)。
我在 2012 年 12 月開始將“Redis 源碼書”的這個(gè)想法付諸實(shí)現(xiàn),并且很幸運(yùn)地在今天完成初稿了。
我把這本“Redis 源碼書”命名為《Redis 設(shè)計(jì)與實(shí)現(xiàn)》,它由兩部分組成:
1. 一個(gè)文檔,描述了 Redis 源碼中,各個(gè)功能點(diǎn)的關(guān)鍵實(shí)現(xiàn),核心數(shù)據(jù)結(jié)構(gòu)和算法,以及設(shè)計(jì)上的取舍。
2. 一份 Redis 2.6 的源碼,源碼中的大部分文件都帶有詳細(xì)的注釋。(3月5日更新,帶注釋源碼已放出 https://github.com/huangz1990/annotated_redis_source )
在文檔部分,我盡力地將 Redis 各個(gè)功能的運(yùn)行機(jī)制從代碼中抽離出來,并通過簡短的文字、圖片、流程圖和表格來表示這些機(jī)制,只有在需要的時(shí)候,才會貼少量的偽代碼或者源代碼。這可以保證文檔中記錄的都是高層次的設(shè)計(jì)觀點(diǎn) —— 讀者可以很輕松地理解 Redis 的運(yùn)行原理,而無須和源碼中的各種實(shí)現(xiàn)細(xì)節(jié)打交道。
另一方面,我認(rèn)為一份帶有完整注釋的源代碼對于深入地學(xué)習(xí) Redis 也是很有用的:對于那些對 Redis 的運(yùn)作機(jī)制感興趣、但又不想陷入到源碼細(xì)節(jié)中的讀者來說,他們只需要閱讀文檔就可以了;而對于那些更有好奇心,需要深入到源碼中去的讀者來說,文檔的作用就像夜空中的北斗星一樣,可以為他們指明總體方向,而源碼中的注釋則像路標(biāo)一樣,給出一些如何前進(jìn)的線索。
對初稿的 debug 和最后修改還需要一些時(shí)間,如果一切順利的話,文檔第一版將在婦女節(jié)當(dāng)天釋出,希望這個(gè)新文檔會對喜歡 Redis 的朋友有幫助,也歡迎各位到時(shí)對文檔提意見或建議。嗯。
huangz
2013.2.28
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
