看了很多redis的文章, 也看過(guò)一些書(shū), 對(duì)于redis的神奇, 自己都是在仰望. 所以一直想找個(gè)機(jī)會(huì)探究一下redis底層神奇的源碼. 由于自己是一枚java程序猿, 以前完全沒(méi)有接觸過(guò)C語(yǔ)言, 只是在大學(xué)時(shí)代簡(jiǎn)單入門(mén)過(guò)C++語(yǔ)法, 自已對(duì)于C/C++完全是個(gè)小白, 為了能研究一下redis底層, 2020年底的開(kāi)始陸陸續(xù)續(xù)地看 C primer plus 這本書(shū), 大概地研究一下C的語(yǔ)法和原理.
好吧, 書(shū)只看了基礎(chǔ)語(yǔ)法部分就看不下去了, 太過(guò)基礎(chǔ), 靜不下心來(lái). 只能改變策略啦, 作為一個(gè)開(kāi)發(fā)老司機(jī), 我感覺(jué)大部分基礎(chǔ)語(yǔ)法都是能直接看懂的, 偶爾某些騷操作我們google一下或者問(wèn)朋友基本沒(méi)有大問(wèn)題. 自此, 我就開(kāi)始了redis的源碼狂擼之路.
看redis源碼之前, 建議先提前看一下 redis設(shè)計(jì)與實(shí)現(xiàn) 這本書(shū)的內(nèi)容, 并且最好能夠?qū)W習(xí)一下基本的數(shù)據(jù)結(jié)構(gòu)與算法, 如: 鏈表, set集合, hash字典, 跳表等. 這些數(shù)據(jù)結(jié)構(gòu)內(nèi)容在jdk都有對(duì)應(yīng)的實(shí)現(xiàn), 如果看過(guò)jdk相關(guān)的數(shù)據(jù)結(jié)構(gòu), 那么看到redis的實(shí)現(xiàn)會(huì)有一種似曾相識(shí)的感覺(jué), so easy.
以前看過(guò)很多源碼, 但都只是在源碼上做注釋來(lái)寫(xiě)上自己的理解, 沒(méi)有針對(duì)性地做總結(jié), 雖然很多知識(shí)點(diǎn)在當(dāng)時(shí)了如指掌, 時(shí)間長(zhǎng)之后總會(huì)還回去的, 所以, 在開(kāi)始看源碼之前, 都盡量逼迫自己寫(xiě)一些總結(jié)的東西出來(lái), 方便以后回顧也希望能幫助到其他人.
記憶是暫時(shí)的, 文字的記錄才是永久的.
萬(wàn)事開(kāi)頭難, 堅(jiān)持, 加油 !!!