05 數據類型2:list

### 簡介:
list是一個鏈表結構。  
*主要功能*是push、pop、獲取一個範圍的所有值等等。操作中key理解爲鏈表的名字。  
使用 List 結構,我們可以輕鬆地實現最新消息排行等功能(比如新浪微博的 TimeLine )。  
List 的另一個應用就是消息隊列,可以利用 List 的 *PUSH* 操作,將任務存在 List 中,然後工作線程再用 POP 操作將任務取出進行執行。  
Redis 還提供了操作 List 中某一段元素的 API,你可以直接查詢,刪除 List 中某一段的元素。
### 常用命令
#### 插入元素:
lpush:從左側插入值  
rpush:從右側插入值  
linsert:插入一個值  

    > lpush list3 "aaa"
    (integer) 1
    > lpush list3 "bbb"
    (integer) 2
    > rpush list3 "ccc"
    (integer) 3
    > lrange list3 0 -1
    1) "bbb"
    2) "aaa"
    3) "ccc"
    > linsert list3 before "ccc" "111"
    (integer) 4
    > lrange list3 0 -1
    1) "bbb"
    2) "aaa"
    3) "111"
    4) "ccc"  
#### 取出元素:
lpop:從左側取出一個值。  
rpop:從右側取出一個值。      

    > lpop list1
    "123"
    > lrange list1 0 -1
    1) "dang"
    2) "test"
    > rpush list1 "heih"
    (integer) 3
    > lrange list1 0 -1
    1) "dang"
    2) "test"
    3) "heih"
    > rpop list1
    "heih"
    > lrange list1 0 -1
    1) "dang"
    2) "test"
#### 更改值:
lset:  

    > lrange list3 0 -1
    1) "bbb"
    2) "aaa"
    3) "111"
    4) "ccc"
    > lset list3 3 "333" //list名後面帶的參數爲索引值,從0開始
    OK
    > lrange list3 0 -1
    1) "bbb"
    2) "aaa"
    3) "111"
    4) "333"
#### 顯示元素:
    lrange:是從左到右顯示所有元素,左側在上,右側在下。  
>用法:lrange list_name 0 -1 #0表示左側第一個,-1表示右側的第一個

    lindex list3 0 //查看list3中的第一個元素  
    lindex list3 3 //查看list3中的第4個元素值  
    llen list3 //查看鏈表中有幾個元素

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章