BRPOPLPUSH

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

データが入るとリストの右からデータを取り出し、左に入れます。

使い方は brpoplpush src_key dest_key timeout です。
結果は rpop + lpush と同じです。このコマンドはアトミック(atomic)に動作します。
リストにデータが既にある場合は RPOPLPUSH と同じです。データがない場合は timeout(秒) 待ちます。
timeout が 0 のとき、データが入力されるまで待ちます。データが入ると pop し、data, 時間(秒) を表示します。

Example: Reliable queue

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



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


Client B


コマンド>brpoplpush src_key dest_key 0
結果>msg_1
コマンド>brpoplpush src_key dest_key 0


結果>msg_2
(4.30s)

アニメーションを見る



timeout 指定

使い方は brpoplpush src_key dest_key timeout です。

Example: Reliable queue

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






Client B


コマンド>brpoplpush src_key dest_key 5
結果>msg_1
コマンド>brpoplpush src_key dest_key 5
5秒後
結果>(nil)
(5.03s)

アニメーションを見る



構文

BRPOPLPUSH source destination timeout

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

<< BLMOVE BRPOPLPUSH SETS Introduction >>

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