rpoplpush
RPOPLPUSH
Redis Developer Course | Redis Technical Support | Redis Enterprise Server |
---|
리스트 오른쪽에서 데이터를 꺼내서 왼쪽에 넣는다.
사용법은 rpoplpush src_key dest_key 이다.
결과는 rpop + lpush와 같으나 이 명령은 원자적으로 동작한다.
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로 지정할 수 있다.
이렇게 하면 환형 리스트가 된다.
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
답글이 올라오면 이메일로 알려드리겠습니다.