Computer >> 컴퓨터 >  >> 프로그램 작성 >> Redis

항목을 한 목록에서 다른 목록으로 팝업 및 푸시하는 방법 - Redis RPOPLPUSH | 브포플푸시

이 튜토리얼에서는 하나의 키에 저장된 목록 값의 마지막 요소를 제거하고 반환하는 방법과 redis 데이터 저장소의 다른 키에 저장된 목록 값의 첫 번째 위치에 동일한 요소를 삽입하는 방법에 대해 알아봅니다. 이를 위해 Redis RPOPLPUSH를 사용합니다. 및 BRPOPLPUSH 명령.

RPOPLPUSH 명령

이 명령은 소스 키에 저장된 목록 값의 뒷부분( end )에서 요소를 제거하여 반환하고 대상 키에 저장된 목록 값의 머리( 시작 )에 동일한 요소를 삽입하는 데 사용됩니다. 소스 키가 존재하지 않으면 nil 값이 반환되고 아무 작업도 수행되지 않습니다. 대상 키가 존재하지 않으면 삽입 작업을 수행하기 전에 먼저 빈 목록으로 생성됩니다.

소스 및 대상 키가 동일한 경우 이 작업은 목록 요소를 회전하는 것과 동일합니다. redis RPOPLPUSH 명령의 구문은 다음과 같습니다.-

구문:-

redis 호스트:post> RPOPLPUSH  

출력:-

- (문자열) 응답, 소스 목록의 팝된 요소를 나타냅니다.- (nil), 소스 키가 존재하지 않는 경우.- 오류, 소스 또는 대상 키가 존재하고 키에 저장된 값이 목록이 아닌 경우. 

예:-

항목을 한 목록에서 다른 목록으로 팝업 및 푸시하는 방법 - Redis RPOPLPUSH | 브포플푸시

BRPOPLPUSH 명령

이 명령은 소스 목록 값에서 팝할 요소가 없을 때 작업을 차단하기 때문에 RPOPLPUSH 명령의 차단 버전입니다. 즉, 소스 키의 목록 값이 비어 있거나 소스 키가 존재하지 않는 경우 해당 작업을 차단합니다.

다른 클라이언트가 소스 목록 값에 요소를 삽입하기 위해 LPUSH, RPUSH 및 LINSERT와 같은 명령을 실행하면 클라이언트는 RPOPLPUSH 작업을 수행하기 위해 차단 해제됩니다.

0이 아닌 타임아웃이 지정되고 소스 키에 대한 삽입 작업 없이 타임아웃이 만료되면 클라이언트는 null 값을 반환하는 차단 해제를 받게 됩니다.

timeout 인수는 차단할 최대 시간(초)을 나타내는 정수 값입니다. 0초의 제한 시간을 사용하여 무기한 차단할 수 있습니다.

Redis BRPOPLPUSH 명령의 구문은 다음과 같습니다.-

구문:-

redis 호스트:포스트> BRPOPLPUSH   

출력:-

- (문자열) 응답, 소스 목록의 팝된 요소를 나타냅니다.- (nil) 응답, 팝될 수 없는 요소가 없고 시간 초과가 만료된 경우.

예:-

항목을 한 목록에서 다른 목록으로 팝업 및 푸시하는 방법 - Redis RPOPLPUSH | 브포플푸시

참조:-

  1. RPOPLPUSH 명령 문서
  2. BRPOPLPUSH 명령 문서

마음에 드셨다면 댓글 섹션에 의견을 공유하고 다른 사람들과도 공유해 주세요.

<- 목록 명령