RPOPLPUSH

<< LTRIM LPUSHX >>

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

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

Example: Reliable queue

コマンド>lpush scr_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

コマンドを実習してみたければ、ここをクリックして Redis Web Clientを実行してください。


<< LTRIM RPOPLPUSH LPUSHX >>

質問したり、レスを見るためには、クリックしてください。  コメント :    クリック件数 :

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