blpop
BLPOP
Redis 開発者教育Redis Developer Course |
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 です。
指定した順でリストを確認してデータがあれば一つだけ取り出して終了します。
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
返事がかかってなれば、メールでお知らせします。
