List

資料結構

Redis中的串列/列表(List)資料結構為一個Key對應一組鏈結串列(Linked List)arrow-up-right,是由多個節點組成的一種線性表(Linear List)arrow-up-right,每個節點內會儲存到上一個與下一個節點的指標(Pointer),每個節點中可以儲存一組字符串資料,本章稱之為元素(item)。

雖然是線性表,但不一定要按照線性的順序儲存資料,Redis提供了一些方便的指令來操作List資料,例如可以在List的前、後端推入新節點(lpush、rpusharrow-up-right)、刪除舊節點(lpop、rpoparrow-up-right),或從中段節點安插新節點(linsertarrow-up-right),也提供了同時刪除與新增的組合情境(rpoplpusharrow-up-right);甚至,List資料還包含了阻塞功能的指令(brpoparrow-up-right),並得以實現訊息佇列(Message Queue)arrow-up-right等應用情境。

Detail of List Structure

值得注意的是與集合(Set)或有序集合(Zset)的最大差別,串列(List)得以儲存重複的元素(item),而集合(Set)或有序集合(Zset)中所儲存的成員(member)不能重複。

Last updated