Redis list(列表)相關命令

Redis列表是簡單的字符串列表,列表是有序的,列表中的元素能夠重複。spa

能夠添加一個元素到列表的頭部(左邊)或者尾部(右邊)code

一個列表最多能夠包含 232 - 1 個元素 (40多億)。blog

 

 

一、lpush key value1 value2 .....    //往列表的頭部(左邊)推入一個或多個元素,lpush的l表示left。key是列表名稱,把列表中的全部元素做爲一個總體(value)。若key不存在,會自動建立。索引

示例:rem

 lpush students "zhangsan" "lisi" "wangwu"       //返回操做後列表中的總元素個數字符串

先在列表頭部添加「zhangsan」,再在列表頭部添加「lisi」,接着在列表頭部添加「wangwu」,最後列表的前三個元素依次是"wangwu"、「lisi」、「zhangsan」。class

 

二、lpushx key value1 value2 ......    //同上,只是key不存在時,不執行操做(不會自動建立)。要key已存在且key時list類型時纔會添加元素。搜索

三、lpop key   //彈出列表的第一個元素,會從列表中移除並返回該元素。遍歷

 

l表示left,列表的頭部。im

 

 

 

四、rpush key value1 value2 ....    //在列表尾部推入1個或多個元素。

五、rpushx key value1 value2 .....     //尾部,key已存在時纔會推入。

六、rpop    //彈出列表的最後一個元素

r表示right,列表的尾部。

 

上面的l、r命令是一一對應的。

 

 

七、rpoplpush sourceKey destKey   //彈出sourceKey的最後一個元素,並在destKey的頭部推入元素,即剪切。返回該元素。rpoplpush即對sourceKey執行rpop,對destKey執行lpush。

 

 

八、blpop  key1  key2  ....   timeout    //彈出一個或多個的列表的第一個元素,若是列表爲空會阻塞列表直到等待超時或發現可彈出元素爲止。blpop即bind  lpop。

示例: blpop students 60    //60s

九、brpop  key1  key2 .....   timeout

十、brpoplpush  sourceKey  destKey   timeout

 

  

 

十一、llen  key    //返回列表中的元素個數

十二、lset  key  index  value    //給指定索引處的元素設置值(即修改元素值)

1三、lindex  key  index   //根據index索引元素,返回指定位置上的元素

1四、lrange  key start  end    //返回[start,end]區間上的全部元素。start、end是索引,好比0  -1  就是返回全部元素。

1五、ltrim key start  end   //修剪列表,只保留[start,end]區間上的元素,其他元素會被刪除。

 

1六、linsert  key  before/after  value1  value2    //在元素value1以前/以後插入元素value2。value2是要插入的元素。

示例: linsert student before "lisi" "zhangsan"     //在lisi的前面插入zhangsan

插入成功,返回操做後列表的總長度;若value1不存在,返回-1;若key不存在或key是一個空的list,則返回0.

 

1七、lrem  key  count  value  //移除列表中值爲value的全部元素。lrem即list remove。count是一個整數,表示要刪除的個數、搜索方向。

count>0:從表頭向表尾搜索,移除count個值爲value的元素

count<0:從表尾向表頭搜索,移除count的絕對值個值爲value的元素

count=0:移除表中全部的值爲value的元素。要遍歷列表,從哪邊開始結果、速度都是同樣的。

示例: lrem scores 0 90    移除列表中全部的90

 

以上幾個命令中,l表示list。index從0開始,支持負數索引,index要是已存在的

 

 

Redis的區間,都是閉區間,[start,end],兩邊都包含。

相關文章
相關標籤/搜索