Redis 學習筆記 3 4 列表型別

2021-09-13 04:12:54 字數 1183 閱讀 5580

列表型別 (list) 可以儲存乙個有序的字串列表,常用的操作是向列表的兩端新增元素,或者獲得列表的某乙個片段。

它的內部實現是雙向鍊錶,向頭尾兩端處理元素特別方便。適合的場景像是社交**的新鮮事,日誌記錄,關心尾部節點,不擔心舊有記錄的刪除調整情況。

redis 的列表型別還可以用來實現佇列,並且支援阻塞式讀取,可以輕易地實現乙個高效能的優先順序佇列。

lpush key value [value …] // 向列表左邊增加元素

rpush key value [value …] // 向列表右邊增加元素

lpop key // 從列表左邊取出元素

rpop key // 從列表右邊取出元素

llen // 列表長度

lrange key start stop // 按照索引號段取出元素,這個估計是比較高頻的應用。

twowinter 小結:

如果想把列表當作棧,即實現lifo,可以使用 lpush + lpop,或者 rpush + rpop,即同側的進出。

如果想把列表當作佇列,即實現fifo,可以使用 lpush + rpop,或者 rpush + lpop,即異側的進出。

127.0.0.1:6379> rpush dlink 11 12 13

(integer) 3

127.0.0.1:6379> llen dlink

(integer) 3

127.0.0.1:6379> lpush dlink 1

(integer) 4

127.0.0.1:6379> lpush dlink 2 3

(integer) 6

127.0.0.1:6379> llen dlink

(integer) 6

127.0.0.1:6379> lrange dlink 0 4

1)"3"

2)"2"

3)"1"

4)"11"

5)"12"

127.0.0.1:6379> lrange dlink 0 1

1)"3"

2)"2"

127.0.0.1:6379> lrange dlink 0 6

1)"3"

2)"2"

3)"1"

4)"11"

5)"12"

6)"13"

Redis學習(六) 列表型別(List)

列表型別可以儲存乙個有序的字串列表,常用的操作是向列表的兩端新增元素,或者獲取列表的乙個片段 與雜湊型別最多能容納的字段數量相同,乙個列表型別鍵最多能容納2 32 1個元素。優點 列表型別的內部是使用 double linked list 雙向鍊錶實現的,所以像列表兩端新增元素的時間複雜度為o 1 ...

Redis系列學習筆記4 列表

以有序的方式儲存多個可重複的值 lpush key value value 將乙個或以上數量的值依次推入到列表的左端,命令返回新值被推入之後,列表目前包含的項數量。rpush key value value 將乙個或以上數量的值依次推入到列表的右端,命令返回新值被推入之後,列表目前包含的項數量。lp...

Redis學習(十) 列表 List

redis列表是簡單的字串列表,按照插入順序排序。你可以新增乙個元素到列表的頭部 左邊 或者尾部 右邊 乙個列表最多可以包含 232 1 個元素 4294967295,每個列表超過40億個元素 redis 127.0.0.1 6379 lpush runoobkey redis integer 1r...