List

資料結構

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

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

Detail of List Structure

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

Last updated

Was this helpful?