BLPOP

Redis 開発者教育の申込 Redis 定期点検/技術サポート
Redis Technical Support
Redis エンタープライズサーバー
Redis Enterprise Server

データが入るとリストの左から取り出します

使い方は blpop key timeout です。
リストにデータが既にある場合は LPOP と同じです。データがない場合は timeout(秒) 待ちます。
timeout が 0 のとき、データが入力されるまで待ちます。データが入ると pop し、key, data, 時間(秒) を表示します。

Example

Client A
コマンド>lpush key msg_1
結果>1




コマンド>lpush key msg_2
結果>1



Client B


コマンド>blpop key 0
結果>0) key
1) msg_1
コマンド>blpop key 0


結果>0) key
1) msg_2
(3.60s)

アニメーションを見る



timeout が 5 のときは 5秒間データが入るのを待ちます。

使い方は blpop key 5 です。

Example

Client A

コマンド>lpush key msg_3
結果>1






Client B
コマンド>blpop key 5


結果>0) key
1) msg_3
(3.17s)
コマンド>blpop key 5
結果>(nil)
(5.08s)

アニメーションを見る



key を複数指定可能

使い方は blpop key1 key2 timeout です。
指定した順にリストを確認し、データがあれば1つだけ取得して終了します。
key を複数指定しても、複数のデータを取得するわけではありません。

Example

Client A
コマンド>lpush key1 msg_4
結果>1
コマンド>lpush key2 msg_5
結果>1






Client B




コマンド>blpop key1 key2 0
結果>0) key1
1) msg_4
コマンド>blpop key1 key2 0
結果>0) key2
1) msg_5

アニメーションを見る



構文

BLPOP key [key ...] timeout

  • version 2.0.0 から使用できます。
  • 時間計算量は O(1) です。
関連コマンド BRPOP, BRPOPLPUSH
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

<< RPUSHX BLPOP BRPOP >>

Email 返事がかかってなれば、メールでお知らせします。