redis list 操作
阿新 • • 發佈:2020-12-30
資料型別
redis 列表 (棧, 佇列)
資料容量
單個列表可以儲存 2 的32次方 - 1 個元素 (4294967295, 每個列表超過40億個元素)
操作指令
- 插入資料
$ lpush key element0 element1 element2 ...
(integer) 4
- 查詢列表長度
$ llen key
- 查詢指定位置的元素
$ lindex key index
- 指定元素之前插入元素
$ linserte key befor pivot element
- 指定元素之後插入元素
$ linster key after pivot element
- 將一個或多個值 從列表頭部插入
$ lpush key element0 element1 ...
$ lpushx key element0 element1 ...
# 資料依次插入列表頭部[element1, element0, ...]
- 當key 不存在時 lpush 會建立一個以key命名的 列表,並將elements 插入;lpushx 不會執行任何操作
- 將一個或多個值從列表末尾插入
$ rpush key element0 element1 ...
$ rpushx key element0 element1 ...
- 查詢列表中指定範圍的元素
$ lrange key start end
- 覆蓋指定位置元素
$ lset key index value
- 切片列表
$ ltrim key start stop
- 列表頭pop 元素 空列表定時阻塞
$ blpop key timeout
- 列表末尾 pop元素 空列表定時阻塞
$ brpop key timeout
- 從列表1中pop 元素並壓入列表2中
$ brpoplpush source destination timeout
元素從source 列表尾部取出,壓入destination 列表 頭部
- 從列表取出元素
$ lpop key
$ rpop key
lpop&& rpop 和 brpop&&blpop 之間的區別: 前者不會阻塞程式, 後者會阻塞程式
使用場景
對於redis 列表來說 可以當成棧和佇列來用。是很方便的棧和佇列的工具。