Redis原始碼學習 開始(0)

2021-09-30 17:15:59 字數 1368 閱讀 6502

秋招結束了很長時間了,我如當時所想,找到了一家還不錯的it公司,拿到了offer,下半個學期就要去實習了。當然,並不意味著技術學習的停滯,反而恰恰是個新的起點,意味著以後要熟悉各種工具,各種框架等實際場合使用的東西。當然,閒暇之餘,對於我這樣的萌新來說,底層的內容還是要打好基礎,學無止境。當看到的東西越多時,自己會發現看不到的東西更多。(之前秋招的時候開的坑,現在都兩年了,時間過得可真快)

好了,多餘的感悟先不談了。先說正事,目前當下很火的redis資料庫想必各個公司都在使用,畢竟這是個作為"資料結構伺服器"的存在,而用好資料結構,可以使計算機的效率的到質的提公升,學習一下還是非常有必要的。redis的介紹。。。前人之述備矣。說是個資料庫,但是一般還是用作快取伺服器或者是實現web應用中的session共享的功能等等,反正用好之後就乙個字,快。而以redis作為我的第乙個閱讀的專案還是有原因的:

它的**量並不是特別龐大的,而且相關資料還是比較全的。

他有著極少的依賴,對於我這種沒有專案經驗的人來說,基本上不需要再掌握其他方面的知識,即可閱讀。

對於以後要從事的後端開發的工作,這個專案從網路,事件,資料結構,資料庫的實現等方面都有涉及。

當然,也有一部分原因是當時面試時面試官給出的建議。所以在自己親自閱讀了一部分**之後,再回頭看網上各種大佬也都建議從這裡入手,更加堅定了我讀下去的信心。所以之後先更新自己的閱讀心得。

為了避免落入俗套,我不可能將所有的**全部複製貼上到我的部落格上,然後在上面加自己的注釋,這種方法已經有不少博主嘗試了,我在學習的時候看過不少這樣的部落格,本人竊以為,這樣並不能給讀者帶來絲毫幫助,因為閱讀起來非常麻煩。因此我的部落格只做一些自己的理解,將其中部分核心(我認為是核心)的**貼上出來,然後再談談自己的理解。至於未能詳盡道出之處,請移步至後文中的github鏈結,尋找原始碼,一**竟。

欲速則不達,不要浮躁。

但是我以前就是乙個浮躁的人,這可能是我第一次認真的做一件事情,說起來挺悲哀的,回首以前自己從來沒有拿出現在的勁頭來學習,也可能是我碰到了真正喜歡做的事情了,感謝技術(又吹一波技術的好)。第一次閱讀規模這麼大的**,在這裡我的學習這堆**的方法也給大家分享一下,有什麼能幫到大家的本人萬分榮幸,如果各位還有什麼建議的話歡迎提出哦。

我想一定還有一些我遺漏的平時的習慣沒有寫出,容我後續想到再補。

希望可以幫到大家之中正在打算深入學習一些專案卻又無從下手的人,同時也希望我的部落格也能成為大家眼中的他山之石,理解的不對的地方,還請不吝賜教,一定感激不盡;部落格中不詳細的地方,錯別字也請大家提出意見,我好做整改。與君共勉!

[1].antires大神的專案原位址,原生的redis,原生的注釋,各種其他人的issue自然少不了有你的疑問

[2].一位大佬做的簡化版本,其中有簡單的中文注釋,方便閱讀,但是功能可能不齊全,不過作為學習足夠了

建議大家fork為乙個自己的版本,好做注釋,方便管理。

從0開始學習cuda和caffe原始碼閱讀

cuda是使用nvidia顯示卡進行並行運算的一種方式,目前經常被用於加速深度學習。cuda安裝相關文件 在cuda安裝完畢以後,cuda會生成cuda samples,這些是cuda的一些例子,windows預設目錄在c programdata nvidia corporation cuda sa...

redis原始碼學習筆記

目錄 1 從資料結構開始 圖為原始碼,附帶個人簡單分析 a 動態字串 檔案 sds.h sds.c 前言 s sizeof struct sdshdr 的解釋為buf為柔性陣列,不占用空間,僅僅為偏移量,所以s指標向後退乙個結構體大小為結構體位址所在。分析 這個結構是整個動態字串的基礎,sds為 s...

redis原始碼學習 skiplist

圖中所示,跳躍表與普通鍊錶的區別在於,每乙個節點可以有多個後置節點,圖中是乙個4層的跳躍表 第0層 head 3 6 7 9 12 17 19 21 25 26 tail 第1層 head 6 9 17 25 tail 第2層 head 6 25 tail 第3層 head 6 tail 傳統意義的...