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

목록의 첫 번째 요소를 제거하고 반환하는 방법 – Redis LPOP | 블팝

이 가이드에서는 redis 데이터 저장소의 키에 저장된 목록 값의 첫 번째 요소를 제거하고 반환하는 방법에 대해 알아봅니다. 이를 위해 redis LPOP를 사용합니다. 및 BLPOP 명령.

LPOP 명령

이 명령은 지정된 키에 저장된 목록 값의 첫 번째 요소를 제거하고 반환하는 데 사용됩니다. 키가 존재하지 않고 오류가 반환되면 Nil이 반환되고 키가 있지만 키에 저장된 값이 목록 데이터 유형이 아닌 경우 반환됩니다. Redis LPOP 명령의 구문은 다음과 같습니다.-

구문:-

redis 호스트:post> LPOP 

출력:-

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

예:-

목록의 첫 번째 요소를 제거하고 반환하는 방법 – Redis LPOP | 블팝

BLPOP 명령

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

비어 있지 않은 목록 값의 첫 번째 요소를 제거하고 반환하며 지정된 키를 왼쪽에서 오른쪽으로 검사합니다. 예를 들어 BLPOP list1 list2 list3 0 명령인 경우 list1 키가 실행됩니다. 존재하지 않음(빈 목록으로 간주), list2 빈 목록이고 list3입니다. 세 개의 요소가 포함된 다음 list3에 저장된 목록 값의 첫 번째 요소를 제거하고 반환합니다. list1에서 list3까지 확인할 때 비어 있지 않은 첫 번째 목록이므로

지정된 키가 없거나 지정된 키의 목록 값이 비어 있는 경우 BLPOP은 다른 클라이언트가 LPUSH, RPUSH, LINSERT와 같은 명령을 실행하여 지정된 키 중 하나에 요소를 삽입할 때까지 작업을 차단합니다. 목록 값 중 하나에 새 요소가 있으면 클라이언트는 이를 차단 해제하는 키의 이름과 팝된 값을 반환합니다.

BLPOP으로 인해 클라이언트가 차단되고 0이 아닌 시간 제한이 지정되면 지정된 시간 제한이 만료되면 지정된 키 중 하나 이상에 대한 삽입 작업 없이 클라이언트가 nil 값을 반환하는 차단을 해제합니다.

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

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

구문:-

redis 호스트:post> BLPOP  [  ] 

출력:-

- (배열) 응답, 첫 번째 요소는 팝된 요소 키의 이름이고 두 번째 요소는 팝된 요소 자체인 두 개의 요소가 반환됩니다.- (nil), 어떤 요소도 팝될 수 없고 시간 초과가 만료된 경우. 

예:-

목록의 첫 번째 요소를 제거하고 반환하는 방법 – Redis LPOP | 블팝

참조:-

  1. LPOP 명령 문서
  2. BLPOP 명령 문서

redis 데이터 저장소에 저장된 목록 값의 첫 번째 요소를 제거하고 반환하는 방법은 여기까지입니다. 마음에 드셨다면 댓글 섹션에 의견을 공유하고 다른 사람들과도 공유해 주세요.

<- 목록 명령