Redis的資料結構 List

2021-09-25 06:47:34 字數 914 閱讀 3051

列表結構

key elements

特點:有序

可以重複

左右彈出

api:

rpush key value1 value2……valuen 從列表右端插入值(1-n個) o(1~n)

lpush key value1 value2……valuen 從列表左端插入值(1-n個) o(1~n)

linsert key before|after value newvalue 在list指定的值前|後插入newvalue o(n)

lpop key 從列表左側彈出乙個item o(1)

rpop key 從列表右側彈出乙個item o(1)

lrem key count value 根據count值,從列表中刪除所有value相等的項 o(n)

(1)count>0,從左到右刪除最多count個value相等的項

(2)count<0,從右到左刪除最多count個value相等的項

(3)count=0,刪除所有value相等的項

ltrim key start end 按照索引範圍修建列表 (做大的列表很快)

lrange key start end(包含end) 獲取列表指定索引範圍所有item

a b c d e f 索引從左是0-5 索引從右是(-6)-(-1)

lindex key index 獲取列表指定索引的item

llen key 獲取列表長度

改:lset key index newvalue o(0)

查缺補漏:

blpop key timeout lpop的阻塞版timeout是阻塞超時時間,timeout=0永遠不阻塞 o(1)

brpop key timeout rpop的阻塞版timeout是阻塞超時時間,timeout=0永遠不阻塞 o(1)

redis資料結構之List

在redis中,list型別是按照插入順序排序的字串鍊錶。和資料結構中的普通鍊錶一樣,我們可以在其頭部 left 和尾部 right 新增新的元素。在插入時,如果該鍵並不存在,redis將為該鍵建立乙個新的鍊錶。與此相反,如果鍊錶中所有的元素均被移除,那麼該鍵也將會被從資料庫中刪除。list中可以包...

Redis資料結構之list

lpush rpush 從左邊 右邊插入乙個或多個值,類似推箱子。lpop rpop 從左邊 右邊吐出乙個值。值在鍵在,值光鍵亡 rpoplpush 從列表右邊吐出乙個值,插到列表左邊 lrange 按照索引下標獲得元素 從左到右 lindex 按照索引下標獲得元素 從左到右 llen 獲得列表長度...

Redis資料結構之列表list

列表型別用來儲存多個有序的字串,可以從兩端進行插入 push 和彈出 pop 操作,獲取指定範圍的元素列表,獲取指定索引的元素等 lpush 從左邊插入元素 lpush key value1 value2 rpush 從右邊插入元素 rpush key value1 value2 linsert 在...