Ziplist 是由一系列特殊編碼的內存塊構成的列表,一個ziplist 能夠包含多個節點(entry),每數組
個節點能夠保存一個長度受限的字符數組(不以\0 結尾的char 數組)或者整數,包括:ide
字符數組編碼
– 長度小於等於63 (26 1)字節的字符數組spa
– 長度小於等於16383 (214 1)字節的字符數組3d
– 長度小於等於4294967295 (232 1)字節的字符數組blog
整數ip
– 4 位長,介於0 至12 之間的無符號整數內存
– 1 字節長,有符號整數v8
– 3 字節長,有符號整數get
– int16_t 類型整數
– int32_t 類型整數
– int64_t 類型整數
由於ziplist 節約內存的性質,它被哈希鍵、列表鍵和有序集合鍵做爲初始化的底層實現來使
用
ziplist 的構成
小結
ziplist 是由一系列特殊編碼的內存塊構成的列表,它能夠保存字符數組或整數值,它仍是
哈希鍵、列表鍵和有序集合鍵的底層實現之一。
ziplist 典型分佈結構以下:
ziplist 節點的分佈結構以下:
添加和刪除ziplist 節點有可能會引發連鎖更新,所以,添加和刪除操做的最壞複雜度爲
O(N2) ,不過,由於連鎖更新的出現機率並不高,因此通常能夠將添加和刪除操做的復
雜度視爲O(N) 。
這部分有點不太懂,回頭須要複習啊!!!