1. 程式人生 > >Redis學習筆記(四)——數據結構之List

Redis學習筆記(四)——數據結構之List

ltr dex pan 返回 red 操作 數據結構 alt 區間

一、介紹

  Redis列表(List)是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(left)或者尾部(right),一個列表最多可以包含232-1個元素(4294967295,每個列表超過40億個元素)。

  基本命令:

  blpop key [key2 ...] timeout(移除並獲取列表的第一個元素,如果列表沒有元素會阻塞列表知道等待超時或者發現可彈出元素為止)

  brpop key [key2 ...] timeout(移除並獲取列表最後一個元素,同上)

  brpoplpush source destination timeout (從列表中彈出一個值,將彈出的元素插入到另外一個列表中並返回它;如果列表沒有元素會阻塞列表知道等待超時或者發現可彈出元素為止)

  lindex key index (通過索引獲取列表中的元素)

  linsert key before|after pivot value (在列表的元素前或後插入元素)

  llen key (獲取列表長度)

  lpop key (移除並獲取列表的第一個元素)

  lpush key value [value2 ...] (將一個或多個值插入到列表頭部)

  lpushx key value [value2 ... ] (為已存在的列表將一個或多個值插入到列表頭部)

  lrange key start stop (獲取列表指定範圍內的元素)

  lrem key count value (移除列表元素)

  lset key index value (通過索引設置列表元素的值)

  ltrim key start stop (對一個列表進行修剪,就是說讓列表只保留指定區間內的元素,不在指定區間之內的元素都被刪除)

  rpop key (移除並獲取列表最後一個元素)

  rpoplpush source destination (移除列表最後一個元素,並將該元素添加到另一個列表並返回)

  rpush key value [value2 ...] (向列表最後中添加一個或多個值)

  rpushx key value (為已存在的列表添加值)

二、操作

  1、lpush key value [value2 ...] (向列表頭部中添加一個或多個值)

  技術分享圖片

  顯示結果:

  技術分享圖片

  每次添加的value都是在頭部添加。

  2、rpush key value [value2 ...] (向列表尾部中添加一個或多個值)

  技術分享圖片

  顯示結果:

  技術分享圖片

  每次添加的value都是在尾部添加。

  3、lrange key start stop (獲取列表指定範圍內的元素)

  start: 0 = 從位置0開始

  stop: -1 = 集合最後一個位置

  技術分享圖片

  4、lpushx key value [value2 ... ] (為已存在的列表將一個或多個值插入到列表頭部)

  如果集合不存在,返回0

  技術分享圖片

  

  5、rpushx key value [value2 ... ] (為已存在的列表將一個或多個值插入到列表尾部)

  如果集合不存在,返回0

  技術分享圖片

  6、blpop key [key2 ...] timeout(移除並獲取列表的第一個元素,如果列表沒有元素會阻塞列表知道等待超時或者發現可彈出元素為止)

  技術分享圖片

  如果List裏面有元素,則會返回兩個元素,第一個彈出的元素是所屬的key,第二個元素是被彈出元素的值;

  如果List裏面沒有元素,為空的話,會返回一個nil,命令後參數跟著的100是,如果List是空,100秒後返回nil。

  7、blpop key [key2 ...] timeout (同brpop)

  技術分享圖片

  8、lpop key (移除並獲取列表的第一個元素)

  技術分享圖片

  9、rpop key (移除並獲取列表的最後一個元素)

  技術分享圖片

  10、brpoplpush source destination timeout (從列表中彈出一個值,將彈出的元素插入到另外一個列表中並返回它;如果列表沒有元素會阻塞列表知道等待超時或者發現可彈出元素為止)

  被彈集合有元素情況下:

  技術分享圖片

  被談集合無元素情況下:

  技術分享圖片

11、rpoplpush source destination (移除列表最後一個元素,並將該元素添加到另一個列表並返回)

  被彈集合有元素情況下:

  技術分享圖片

  被彈集合無元素情況下:

  技術分享圖片

12、llen key (獲取列表長度)

  技術分享圖片

13、lindex key index (通過索引獲取列表中的元素)

  技術分享圖片

14、linsert key before|after pivot value (在列表的元素前或後插入元素)

  (before)在指定元素前插入元素:

  技術分享圖片

  (after)在指定元素後插入元素:

  技術分享圖片

15、lrem key count value (移除列表元素)

  可以刪除指定數量的元素

  技術分享圖片

16、lset key index value (通過索引設置列表元素的值)

  技術分享圖片

17、ltrim key start stop (對一個列表進行修剪,就是說讓列表只保留指定區間內的元素,不在指定區間之內的元素都被刪除)

  技術分享圖片

  

  

  

Redis學習筆記(四)——數據結構之List