scan
SCAN
레디스 개발자 교육 신청 |
레디스 정기점검/기술지원 Redis Technical Support |
레디스 엔터프라이즈 서버 Redis Enterprise Server |
---|
Key들을 일정 단위 개수 만큼씩 조회
사용법은 scan cursor 이다.
KEYS는 한번에 모든 keys를 스켄해서 조회하는 반면, scan은 한번에 약 10개씩 정도 조회한다.
KEYS는 key수가 많을 경우 처리시간이 많이 소요되며, 그 동안 다른 명령을 처리하지 못한다. 그래서 대안으로 나온 것은 SCAN 이다.
key가 많으면 다음 커서를 지정해서 반복해서 조회한다. 모두 조회했을 경우 next cursor가 0 이다.
SSCAN, ZSCAN, HSCAN은 key에 속한 member를 조회하는 반면, SCAN은 DB안에 있는 모든 key를 조회한다.
Example
명령> | scan 0 |
결과> | next cursor -> 1024 0) key001 1) key002 2) key005 ... 11) key021 |
명령> | scan 1024 |
결과> | next cursor -> 18944 0) key031 1) key022 2) key035 ... 9) key151 |
count 사용 가능
사용법은 scan cursor count 10 이다.
조회되는 key수가 지정한 count와 항상 딱 맞지는 않는다. 처리시간을 고려해서 개수를 조절한다.
Example
명령> | scan 0 count 10 |
결과> | next cursor -> 1024 0) key001 1) key002 2) key005 ... 11) key021 |
pattern을 사용 가능
사용법은 scan cursor match pattern 이다.
지정한 pattern에 맞는 key들만 조회한다.
GLOB style pattern이다.
Example
명령> | scan 0 match key* |
결과> | next cursor -> 1024 0) key001 1) key002 2) key005 ... 11) key021 |
명령문
SCAN cursor [MATCH pattern] [COUNT count]
- 이 명령은 version 2.8.0 부터 사용할 수 있다.
- 논리적 처리 소요시간은 O(1)이다.
SQL Select | Redis Enterprise 7.3.0 이상이면 SELECT를 사용해보세요. |
관련 명령 | KEYS, SSCAN, ZSCAN, HSCAN |
Clients for Java | Jedis, Lettuce, Redisson | Clients for C | Hiredis |
<< LS | SCAN | SORT >> |
---|
Email
답글이 올라오면 이메일로 알려드리겠습니다.