Redis設計與實現 筆記 第三章 鍊錶

2021-10-02 19:56:13 字數 476 閱讀 2656

typedef struct listnode  listnode;

typedef struct list list;

雖然單獨乙個 listnode 就可以構成鍊錶,但是 redis 增加了 list 結構,能更方便的操作鍊錶

資料為 void* 可以使用多型,操作各種資料型別.

鍊錶被廣泛用於 redis 的各種功能,比如列表建,發布與訂閱,慢查詢,監視器等.

每個鏈結節點由乙個listnode結構表示,每個幾點都有乙個指向前置節點和後置節點的指標,所以 redis 的鍊錶實現是雙端鍊錶.

每個鍊錶使用乙個 list 結構來表示,這個結構帶有表頭結點指標,標為節點指標,以及鍊錶長度等資訊.

因為煉表表頭節點的前置節點和表位節點的後置節點都指向null,所以redis的鍊錶是現實無環鏈表.

通過為鍊錶設定不同的型別特定函式, redis 的鍊錶可以用於儲存各種不同資料型別的值.

《Redis設計與實現》 第三章 重點回顧

重點回顧 1.鍊錶被廣泛應用於實現redis的各種功能,如列表鍵 發布與訂閱 慢查詢 監視器等。了解鍊錶的用途 2.每個鍊錶節點由乙個listnode結構來表示,每個節點都有乙個指向前置節點和後置節點的指標,是雙端鍊錶。3.每個鍊錶用乙個list結構來表示,這個結構有頭指標,尾指標,長度計數器等。4...

第三章筆記

第三章預習筆記 一 高階語言和機器指令中的運算 1,按位運算 符號 按位or運算 符號 按位and運算 符號 表示按位not運算 符號 按位xor運算。實現掩碼操作 通過與給定的乙個位模式進行按位與,可以提取所需要的位,對這些位進行 置1 清0 等。2,符號 按位or運算 符號 表示and運算 符號...

c primer 筆記,第三章

初始化string物件的6種方式 string s1 預設空串 sting s2 s1 string s2 s1 string s3 value 直接初始化 string s3 value 拷貝初始化 string s4 n,c 由連續n個字元c組成的串在讀寫string物件時,string物件會自...