brpoplpush

1. 基本語法

brpoplpush(source , destination, timeout:<integer>, callback)

brpoplpushrpoplpush的阻塞(blocking)版本,關於阻塞概念請參考brpop,當source列表包含非空元素時,其rpoplpush完全相同;當source為空列表時,則會阻塞執行緒,直到source被推送新元素或超過阻塞時間(timeout)才會回傳結果,timeout為0則不限制阻塞時間。

client.brpoplpush('src:1', 'dst:1', 0, (err, popItem) => {
    console.log('First pop:', popItem);
});
client.lrange('src:1', 0, -1, redis.print);
client.lrange('dst:1', 0, -1, redis.print);
> redis-cli
127.0.0.1:6379> rpush src:1 iphone1 iphone2 iphone3 iphone4
(integer) 4

由於sourcedestination已明確定義列表Key資訊,與brpop不同,brpoplpush不會再回傳Key資訊。

First pop: iphone4
Reply: iphone1,iphone2,iphone3
Reply: iphone4

Last updated

Was this helpful?