LPOS

Redis Developer Course Redis Technical Support Redis Enterprise Server

값으로 인덱스를 조회

사용법은 lpos key value 입니다.
인덱스는 머리(왼쪽) 0부터 시작합니다.

Example

명령>rpush mylist A B C 1 2 3 C C
결과>8
명령>lpos mylist A
결과>(integer) 0
명령>lpos mylist C
결과>(integer) 2   첫 번째 C의 순서가 조회됩니다.

RANK 옵션: 찾을 순서 지정

두 번째 C를 찾을 경우 RANK 2를 사용합니다.
음수를 지정하면 꼬리(오른쪽)에서 부터 찾습니다.

Example

명령>lpos mylist C RANK 2
결과>(integer) 6
명령>lpos mylist C RANK -1
결과>(integer) 7

COUNT 옵션: 찾을 개수 지정

같은 값이 여러 개 있을 경우 찾을 개수를 지정합니다. 0을 지정하면 모두 찾습니다.

Example

명령>lpos mylist C COUNT 2
결과>1) (integer) 2
2) (integer) 6
명령>lpos mylist C COUNT 0
결과>1) (integer) 2
2) (integer) 6
3) (integer) 7

MAXLEN 옵션: 검색할 개수 지정

리스트에 값(요소)가 매우 많을 경우 지정한 값을 찾는데 시간이 걸릴 수 있습니다. 검색할 개수를 지정해서 조회하는데 많은 시간이 걸리지 않도록 제한하는데 사용합니다.
RANK, COUNT, MAXLEN 옵션을 같이 사용할 수 있습니다.

Example

명령>lpos mylist C COUNT 0 MAXLEN 3
결과>1) (integer) 2
명령>lpos mylist C COUNT 0 MAXLEN 7
결과>1) (integer) 2
2) (integer) 6

주의 사항

찾는 값이 없으면 널(nil)을 리턴합니다.
COUNT 옵션을 사용했을 경우 (empty array)를 리턴합니다.

Example

명령>lpos mylist D
결과>(nil)
명령>lpos mylist D COUNT 0
결과>(empty array)


명령문

LPOS key element [RANK rank] [COUNT num-matches] [MAXLEN len]

  • 이 명령은 version 6.0.6 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(N)이다. N은 값의 개수 또는 MAXLEN으로 지정한 개수입니다.

<< LINDEX LPOS LSET >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.