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
返事がかかってなれば、メールでお知らせします。
