Redis資料結構之list

2022-10-09 00:27:18 字數 571 閱讀 3693

lpush\rpush ... 從左邊/右邊插入乙個或多個值,類似推箱子。

lpop/rpop 從左邊/右邊吐出乙個值。值在鍵在,值光鍵亡

rpoplpush 從列表右邊吐出乙個值,插到列表左邊

lrange 按照索引下標獲得元素(從左到右)

lindex 按照索引下標獲得元素(從左到右)

llen 獲得列表長度

linsert before/after 在的前面或後面插入

lrem 從左邊刪除n個value值(從左到右)

lset 將列表key下標為index的值替換為value

list的資料結構為快速鍊錶quicklist

首先在列表元素較少的情況下會使用一塊連續的記憶體儲存,這個結構是ziplist,即是壓縮列表,它將所有的元素緊挨在一起儲存,分配的是一塊連續的記憶體。

當資料量比較多的時候才會變成quicklist,多個ziplist連在一起,組成了quicklist(雙向鍊錶)

redis資料結構之List

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

Redis資料結構詳解之List(二)

1 redis中list列表的資料插入命令 lpush,rpush,linsert 127.0.0.1 6379 rpush mylist 1 結果為 integer 1 127.0.0.1 6379 rpush mylist 2 結果為 integer 2 127.0.0.1 6379 rpush...

Redis資料結構詳解之List(二)

思來想去感覺redis中的list沒什麼好寫的,如果單寫幾個命令的操作過於乏味,所以本篇最後我會根據redis中list資料型別的特殊屬性,同時對比成熟的訊息佇列產品rabbitmq,使用redis實現乙個訊息佇列。為啦讓本篇更有魅力,我再介紹下redis中list的基本屬性,以及為什麼使用redi...