redis的列表是鏈表的數(shù)據(jù)結(jié)構(gòu)
在操作方式上來看,既可以看做隊(duì)列,又可以看做為棧
就TM把它當(dāng)做棧來理解!
可以認(rèn)為left是棧底,right是棧頂
#這么寫,可以看做是java的list
rpush [key] value1 value2
lrange [key] 0 -1
- 插入新列表
lpush [key] [value1] [value2] [value3] ...
rpush [key] [value1] [value2] [value3] ...
# 把這兩個(gè)操作看作是入棧操作,就好理解了
# lpush 把value1,value2,value3依次從棧底入棧
# rpush 把value1,value2,value3 依次從棧頂入棧
- 遍歷列表(遍歷棧)
lrange [key] [startIndex] [endIndex]
# 遍歷key這個(gè)數(shù)組,從下表為startIndex開始,遍歷到下標(biāo)為endIndex的元素
# 如果endIndex=-1就表示遍歷到最后一位
## 也可以理解為從棧頂開始遍歷
- 刪除元素
lpop # 刪除index最小的元素 或者可以理解為刪除棧底元素
rpop # 刪除index最大的元素,或者可以理解為刪除棧頂元素
- 按下標(biāo)選取list中的元素
lindex [list] [index]
- 查看list長度
llen [key]
- 刪除N個(gè)value
lrem [key] [count] [value]
# 可以理解為,從index為0的位置開始遍歷這個(gè)list
# 刪除值為value的項(xiàng),直到刪除count項(xiàng)為止
- 從一個(gè)list中截取一段,刪除其他
ltrim [key] [startIndex] [endIndex]
#從一個(gè)list中截取下標(biāo)startIndex到endIndex的值
# 再賦值給key,原來的key中的值就被替換了
- 將一個(gè)list棧頂?shù)囊粋€(gè)值,放到另一個(gè)list的棧底
rpoplpush [源list] [目標(biāo)list]
- 將list中指定的一個(gè)項(xiàng),重新set值
lset [key] [index] [value]
# 將原來list中下標(biāo)為index的元素,重新賦值為value
- 在指定的值前/后插值
linsert [key] before [value1] [value2]
# 在value1前面插入一個(gè)value2
linsert [key] after [value1] [value2]
# 在value1后面插入一個(gè)value2
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。