Redis基本數據結構 ― List
介紹
- Redis中的List結構是一個雙向鏈表。

- LPUSH + LPOP = Stack
- LPUSH + RPOP = Queue
- LPUSH + BRPOP = Queue(消息隊列)
常用命令
| 命令 | 功能 |
|---|---|
| LPUSH | 將元素推入列表左端 |
| RPUSH | 將元素推入列表右端 |
| LPUSHX、RPUSHX | 只對已存在的列表執行推入操作 |
| LPOP | 彈出列表最左端的元素 |
| RPOP | 彈出列表最右端的元素 |
| RPOPLPUSH | 將右端彈出的元素推入左端 |
| LLEN | 獲取列表的長度 |
| LINDEX | 獲取指定索引上的元素 |
| LRANGE | 獲取指定索引範圍上的元素 |
| LSET | 為指定索引設置新元素 |
| LINSERT | 將元素插入列表 |
| LTRIM | 修剪列表,只保留給定範圍之內的元素 |
| LREM | 從列表中移除指定元素 |
| BLPOP | 阻塞式左端彈出操作 |
| BRPOP | 阻塞式右端彈出操作 |
| BRPOPLPUSH | 阻塞式彈出並推入操作 |
範例
1. 將元素推入List中
sql
lpush key val1 val2 val3
rpush key val1 val2 val3


2. 取得List內容
sql
lrange key start end

因為我們要看完整的List內容,所以範圍寫0 ~ -1即可。另外,因為用的是lpush,所以最早push進去的元素會在最右邊。

rpush則相反,最早push進去的元素會在最左邊。


3. 彈出元素
sql
lpop key
rpop key


