Redis學習筆記02-列表對象
- 2020 年 1 月 22 日
- 筆記
底層實現
ziplist編碼
使用壓縮列表作為底層實現,每個壓縮列表節點(entity)保存了一個列表元素。
linkedlist編碼
使用雙端鏈表作為底層實現,每個雙端鏈表節點(Node)都保存了一個字符串對象,而每個字符串對象都保存了一個列表元素。
編碼轉換
使用ziplist編碼的條件,需要對象可以同時滿足以下兩個條件,不能滿足的需要用linkedlist編碼:
- 列表對象保存的所有字符串元素的長度都小於64位元組
- 列表對象保存的元素數量小於512個
以上兩個條件的上限值是可以修改的,涉及到配置文件的選項:
list-max-ziplist-value list-max-ziplist-entries
基礎命令
暫時不過多展開。
- 創建-鏈尾:
RPUSH Key value1 value2 value3...... - 創建-鏈首:
LPUSH Key value1 value2 value3.....
參考資料
《Redis設計與實現》

