sscan
SSCAN
레디스 개발자 교육 신청 |
레디스 정기점검/기술지원 Redis Technical Support |
레디스 엔터프라이즈 서버 Redis Enterprise Server |
---|
member를 일정 단위 개수 만큼씩 조회
사용법은 sscan key cursor 이다.
SMEMBERS는 한번에 모든 member를 조회하는 반면, sscan은 한번에 약 10개씩 정도 조회한다.
member가 많으면 다음 커서를 지정해서 반복해서 조회한다.
SMEMBERS는 member수가 많을 경우 처리시간이 많이 소요되며, 그 동안 서버가 멈춘것 처럼 보인다.
그 대안으로 나온 것은 SSCAN 이다.
모두 조회했을 경우 next cursor가 0 이다.
Example
명령> | sadd myset A1 A2 A3 B1 B2 B3 C1 C2 C3 D1 D2 D3 E1 E2 E3 |
결과> | 15 |
명령> | sscan myset 0 |
결과> | next cursor -> 11 0) E1 1) A2 2) C2 ... 10) B1 |
명령> | sscan myset 11 |
결과> | next cursor -> 0 0) A1 1) D1 2) C3 3) C1 |
count 사용 가능
사용법은 sscan key cursor count 20 이다.
조회되는 member수가 지정한 count와 항상 딱 맞지는 않는다. 처리시간을 고려해서 개수를 조절한다.
Example
명령> | sscan myset 0 count 20 |
결과> | next cursor -> 0 0) E1 1) A2 2) C2 ... 14) C1 |
pattern을 사용 가능
사용법은 sscan key cursor match pattern 이다.
GLOB style pattern이다.
Example
명령> | sscan myset 0 match B* |
결과> | next cursor -> 0 0) B3 1) B2 2) B1 |
명령문
SSCAN key cursor [MATCH pattern] [COUNT count]
- 이 명령은 version 2.8.0 부터 사용할 수 있다.
- 논리적 처리 소요시간은 한번 실행할때마다 O(1)이다.
관련 명령 | SMEMBERS |
Clients for Java | Jedis, Lettuce, Redisson | Clients for C | Hiredis |
<< SRANDMEMBER | SSCAN | SORTED SETS Introduction >> |
---|
Email
답글이 올라오면 이메일로 알려드리겠습니다.