Skip to content
Neuron Teckid edited this page Jul 21, 2015 · 1 revision

(即将实现, deadline: 7 月 31 日)

BLPOPBRPOP 两个命令实现如 SUBSCRIBE 一样, 将使得客户端转换成一个长连接. 在服务器端返回之前, 不允许客户端再次写入其他指令 (仍可以建立一个新的客户端连接进行其他操作).

在集群中, BLPOPBRPOP 与其它多键命令一样, 受到槽位制约影响: 当指令的多个键处在不同槽位时, 集群会立即返回错误, 如

 127.0.0.1:7000> blpop a b 10
 (error) CROSSSLOT Keys in request don't hash to the same slot

因此, 在代理上限制了, 指令只能指定一个键参数 (在 timeout 参数之前).

如果发送此命令时, 集群处在不可用状态, 客户端连接会被即时关闭.

在指定列表为空, 等待列表元素的过程中, 如果该列表的槽位发生迁移, 代理会即时返回空值 (如超时后也会返回空值一样). 客户端需要重连以便获取下一个元素. 在给定列表所在的槽位迁移的过程中, 重连发送 BLPOPBRPOP 可能立即返回空值.

Clone this wiki locally