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,返回的就是剪下的部分
brpop和blpop這兩個命令與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命令相反,從尾部開始新增...