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