SCAN

Redis Developer Course 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 답글이 올라오면 이메일로 알려드리겠습니다.