列表型別 (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...