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