redis的list列表常用操作

redis的列表是鏈表的數(shù)據(jù)結(jié)構(gòu)

在操作方式上來看,既可以看做隊(duì)列,又可以看做為棧

就TM把它當(dāng)做棧來理解!

可以認(rèn)為left是棧底,right是棧頂

#這么寫,可以看做是java的list
rpush [key] value1 value2
lrange [key] 0 -1
  1. 插入新列表
lpush [key] [value1] [value2] [value3] ...
rpush [key] [value1] [value2] [value3] ...
# 把這兩個(gè)操作看作是入棧操作,就好理解了
# lpush 把value1,value2,value3依次從棧底入棧
# rpush 把value1,value2,value3 依次從棧頂入棧
  1. 遍歷列表(遍歷棧)
lrange [key] [startIndex] [endIndex]
# 遍歷key這個(gè)數(shù)組,從下表為startIndex開始,遍歷到下標(biāo)為endIndex的元素
# 如果endIndex=-1就表示遍歷到最后一位

## 也可以理解為從棧頂開始遍歷
  1. 刪除元素
lpop # 刪除index最小的元素 或者可以理解為刪除棧底元素
rpop # 刪除index最大的元素,或者可以理解為刪除棧頂元素
  1. 按下標(biāo)選取list中的元素
lindex [list] [index]
  1. 查看list長度
llen [key]
  1. 刪除N個(gè)value
lrem [key] [count] [value]
# 可以理解為,從index為0的位置開始遍歷這個(gè)list
# 刪除值為value的項(xiàng),直到刪除count項(xiàng)為止
  1. 從一個(gè)list中截取一段,刪除其他
ltrim [key] [startIndex] [endIndex]
#從一個(gè)list中截取下標(biāo)startIndex到endIndex的值
# 再賦值給key,原來的key中的值就被替換了
  1. 將一個(gè)list棧頂?shù)囊粋€(gè)值,放到另一個(gè)list的棧底
rpoplpush [源list] [目標(biāo)list]
  1. 將list中指定的一個(gè)項(xiàng),重新set值
lset [key] [index] [value]
# 將原來list中下標(biāo)為index的元素,重新賦值為value
  1. 在指定的值前/后插值
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ù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,314評(píng)論 25 708
  • 最近在慕課網(wǎng)學(xué)習(xí)廖雪峰老師的Python進(jìn)階課程,做筆記總結(jié)一下重點(diǎn)。 基本變量及其類型 變量 在Python中,...
    victorsungo閱讀 1,736評(píng)論 0 5
  • 約定了今天下班去JL公司商量績效考核方案事宜,如約到達(dá)。18:30-19:30與公司抽調(diào)的最核心員工團(tuán)隊(duì)進(jìn)行了績效...
    DennisFly閱讀 255評(píng)論 0 0
  • 抱抱寶貝,今天的5分鐘 哎呀呀,沒辦法,看到寶貝想吃的,總是忍不住要給寶貝買,么么么,但是又想看到寶貝有人魚線,有...
    握著荊條閱讀 225評(píng)論 0 0
  • 當(dāng)在鍵盤上敲下這幾個(gè)字的時(shí)候 就莫名打出來的是三月末 也許是三月對(duì)于我的意義很大吧 才能讓我如此印象深...
    小小豆芽君閱讀 292評(píng)論 0 2