rpoplpush
RPOPLPUSH
레디스 개발자 교육 신청
|
레디스 정기점검/기술지원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
답글이 올라오면 이메일로 알려드리겠습니다.
