pop

英 [pɒp]   美 [pɑ:p]  

vi.(意外地、突然地)出现;突然出现;发出爆裂声;(突然地)行动

vt.(突然地)伸出;(突然地)提出问题;(把准备好的东西)突然拿出来;敲击

n.流行音乐;汽水;(尤用作称呼)爸;(迅速打上的)记号

adj.流行音乐的;通俗风格的;通俗的;现代的

adv.爆炸;砰地

abbr.邮局协议(post office protocol)

第三人称单数: pops 复数: pops 现在分词: popping 过去式: popped 过去分词: popped

push

英 [pʊʃ]   美 [pʊʃ]  

vt.& vi.推,推动

vt.按;推动,增加;对…施加压力,逼迫;说服

n.推,决心;大规模攻势;矢志的追求

vi.推进;增加;努力争取

第三人称单数: pushes 现在分词: pushing 过去式: pushed 过去分词: pushed

redis BRPOPLPUSH命令 语法

作用:BRPOPLPUSH 是 RPOPLPUSH 的阻塞版本,当给定列表 source 不为空时, BRPOPLPUSH 的表现和 RPOPLPUSH 一样。

语法:BRPOPLPUSH source destination timeout

说明:当列表 source 为空时, BRPOPLPUSH 命令将阻塞连接,直到等待超时,或有另一个客户端对 source 执行 LPUSH 或 RPUSH 命令为止。超时参数 timeout 接受一个以秒为单位的数字作为值。超时参数设为 0 表示阻塞时间可以无限期延长(block indefinitely) 。

可用版本:>= 2.2.0

时间复杂度:O(1)

返回:假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。反之,返回一个含有两个元素的列表,第一个元素是被弹出元素的值,第二个元素是等待时长。

redis BRPOPLPUSH命令 示例

# 非空列表
redis> BRPOPLPUSH msg reciver 500
"hello moto"                        # 弹出元素的值
(3.38s)                             # 等待时长
redis> LLEN reciver
(integer) 1
redis> LRANGE reciver 0 0
1) "hello moto"
# 空列表
redis> BRPOPLPUSH msg reciver 1
(nil)
(1.34s)