lpush + lpop = stack
127.0.0.1:6379> lpush mylist 12345(integer)
5127.0.0.1:6379>lpop mylist"5
"127.0.0.1:6379>lpop mylist"4
"127.0.0.1:6379> lrange mylist 0 -1
1) "3"
2) "2"
3) "
1"
lpush + rpop = queue
127.0.0.1:6379> lpush mylist 45(integer)
5127.0.0.1:6379> lrange mylist 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
127.0.0.1:6379>rpop mylist"1
"127.0.0.1:6379>rpop mylist"2
"127.0.0.1:6379> lrange mylist 0 -1
1) "5"
2) "4"
3) "
3"
ltrim [ltrim key range_l range_r]:保留區域類的元素,其他的刪除
127.0.0.1:6379> rpush mylist 21(integer)
5127.0.0.1:6379> lrange mylist 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
127.0.0.1:6379> ltrim mylist 23ok
127.0.0.1:6379> lrange mylist 0 -1
1) "3"
2) "
2"
lpush + brpop = message queue
redis brpop 命令移出並獲取列表的最後乙個元素, 如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止。
操作命令 brpop list timeout
brpop mylist 10
返回值假如在指定時間內沒有任何元素被彈出,則返回乙個 nil 和等待時長。 反之,返回乙個含有兩個元素的列表,第乙個元素是被彈出元素所屬的 key ,第二個元素是被彈出元素的值。
127.0.0.1:6379> lpush mylist 12345(integer)
5127.0.0.1:6379> brpop mylist 10
1) "
mylist
"2) "1"
127.0.0.1:6379> brpop mylist 100
1) "
mylist
"2) "2"
127.0.0.1:6379> brpop mylist 10000
1) "
mylist
"2) "3"
127.0.0.1:6379> brpop mylist 10
1) "
mylist
"2) "4"
127.0.0.1:6379> brpop mylist 10
1) "
mylist
"2) "5"
127.0.0.1:6379> brpop mylist 10
(nil)
(10.05s)
Redis list相關命令
redis中的 list 可當成棧 佇列 阻塞佇列。命令以 l 開頭。插入值到列表的頭部 左邊 和尾部 右邊 允許插入重複值。list也允許使用lset等方式賦值,但前提是list存在 lpush list v1 lpush list v2 lpush list v3 此時檢視列表所有值,則得到乙個...
Redis list型別常用操作命令
1.lpush key value 在鍊錶的左側push乙個值,當沒有key這個鍊錶時,建立這個鍊錶。例如在user鍊錶的左側新增乙個元素 lpush user admin 2.rpush key value 在鍊錶的右側push乙個值,當沒有key這個鍊錶時,建立這個鍊錶。例如在user鍊錶的右側...
Redis list型別操作
在key對應list頭部新增字串 lpush key string 從list頭部刪除,返回刪除的元素 lpop key 在尾部新增 rpush key string 在list尾部刪除元素,返回刪除的元素 rpop key 對應list的長度 key不存在返回0,如果key對應的型別不是list則...