RPOPLPUSH

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

リストの右端からデータを取り出して左端に入れる

使い方は rpoplpush src_key dest_key です。
結果は rpop + lpush と同じですが、このコマンドは原子的(atomic)に動作します。

Example: Reliable queue

コマンド>lpush src_key msg_1 msg_2 msg_3
結果>3
コマンド>lpush dest_key msg_A msg_B msg_C
結果>3
コマンド>rpoplpush src_key dest_key
結果>msg_1
コマンド>lrange src_key 0 -1
結果>0) msg_3
1) msg_2
コマンド>lrange dest_key 0 -1
結果>0) msg_1
1) msg_C
2) msg_B
3) msg_A

アニメーションを見る



Circular list

src_key と dest_key を同じ key に指定できます。
こうすると環状リスト(circular list)になります。

Example: Circular list

コマンド>lpush key msg_1 msg_2 msg_3
結果>3
コマンド>lrange key 0 -1
結果>0) msg_3
1) msg_2
2) msg_1
コマンド>rpoplpush key key
結果>msg_1
コマンド>lrange key 0 -1
結果>0) msg_1
1) msg_3
2) msg_2

アニメーションを見る



構文

RPOPLPUSH source destination

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

<< LMOVE RPOPLPUSH LPUSHX >>

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