rpoplpush
RPOPLPUSH
리스트 오른쪽에서 데이터를 꺼내서 왼쪽에 넣는다.
사용법은 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)입니다.
Clients for C
Hiredis