Redis의 SCAN은 어떻게 동작하는가?
·2016.03.11 00:00
Redis의 SCAN 명령어가 내부적으로 어떻게 동작하며, 왜 KEYS 명령어를 대체하는 안전한 대안인지 설명한다.
Redis에서 모든 키를 조회할 때 사용하는 KEYS 명령어는 O(N)의 시간 복잡도를 가지며, 실행되는 동안 Redis 서버를 차단(Blocking)할 위험이 있다. 이를 해결하기 위해 등장한 것이 SCAN 명령어다.
SCAN은 커서(Cursor) 기반의 반복적인 방식으로 동작하며, 한 번의 호출로 전체 데이터를 가져오는 대신 일정량의 데이터를 나누어 반환한다. 이를 통해 서버의 부하를 분산시키고 서비스 중단 없이 키를 탐색할 수 있다.
주요 특징은 다음과 같다:
- **커서(Cursor)**를 사용하여 탐색 위치를 관리함
- 한 번의 호출이 서버를 점유하는 시간을 최소화함
- 전체 탐색이 완료될 때까지 반복 호출이 가능함
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.