rpoplpush
RPOPLPUSH
Redis 開発者教育 Redis Developer Course |
Redis 定期点検/技術支援 Redis Technical Support |
Redis エンタープライズサーバ Redis Enterprise Server |
---|
リスト右からデータを取り出して左に入れる
使い方は 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 |
<< LTRIM | RPOPLPUSH | LPUSHX >> |
---|
クリック件数 :
Email
返事がかかってなれば、メールでお知らせします。