Redis資料型別List

2022-01-22 05:10:48 字數 1992 閱讀 4787

redis的list是通過linked list(鍊錶)來實現的string集合,所以插入資料的速度很快。

但是缺點就是在資料量比較大的時候,訪問某個資料的時間可能會很長,但針對這種情況,可以使用sorted set。

lpush會向list的左側(頭部)新增乙個新的元素

而rpush會把新的元素新增到list的右側(尾部)。

lrange命令可以按索引區間顯示list的一部分,它的個試試lrange list-key start end。

如果想顯示整個list的話,這兩個索引就可以是0和-1,其中-1就表示最後乙個元素。

lpush和rpush,可以一次新增多個元素

pop動作有兩個效果:乙個是獲取到元素,另乙個是把元素從list中刪除。

lpop就是從左邊(頭部)pop,

rpop就是從右邊(尾部)pop。

而如果list裡面已經沒有元素了,就會返回nil

ltrim命令可以對list進行剪下,其格式為ltrim list-key start end,返回的就是剪下的部分

brpopblpop這兩個命令與rpop和lpop類似,但是當list裡沒有元素的時候,它們可以幾秒鐘,如果這期間有新的元素新增到了list裡,那麼就會停止等待返回該元素,否則就會一直等到設定的時間結束,然後返回null:

例子裡面的3 就是等待3秒。

而如果這個引數改為0,那就是永遠等待

rpoplpush 命令用於移除列表的最後乙個元素,並將該元素新增到另乙個列表並返回。

brpoplpush命令用於從列表中彈出乙個值,它推到另乙個列表並返回它,或阻塞直到有可用。

當我們為集合新增元素的時候,如果集合的key不存在,那麼redis會為我們建立乙個空的集合,然後再執行插入操作

但要注意的是,不可以為不同型別且key已經存在的集合新增新的資料

Redis資料型別 List

lpush 在對應的list頭部新增元素 127.0.0.1 6379 lpush mylist value1 integer 1 127.0.0.1 6379 lpush mylist value2 integer 2 列印出來看一下 127.0.0.1 6379 lrange mylist 0 ...

redis資料型別 List

list 列表 是鍊錶結構,新增或刪除元素是常量時間。list常用命令 lpush key value 從列表左邊新增元素 lpushx key value 從列表左邊新增元素,只有當key存在的時候才會新增,否則不執行。rpush key value 從列表右邊新增元素 rpushx key va...

Redis資料型別 List

list資料型別 lpush key value 新增list資料,value可以為多個值,假如我們使用方法新增 a b c 這個三個value的時候,實際上就執行了三次這個命令,等我們獲取資料的時候就是c b a lpushx key value 新增資料資訊,和lpush命令相反,從尾部開始新增...