Appearance
Redis
빠른 오픈 소스 인메모리 키-값 데이터 구조 스토어
보통 데이터베이스는 하드 디스크나 SSD를 주 저장소로 사용한다. Redis는 메모리(RAM)를 중심으로 동작해 매우 빠른 응답 속도를 제공한다.
캐시, 세션 저장소, 실시간 랭킹, pub/sub, 분산 락 같은 용도로 자주 활용된다.
RAM은 휘발성 아닌가요? 껐다키면 다 날아가는데..
이를 막기위한 백업 과정이 존재한다.
- snapshot(RDB) : 특정 시점의 메모리 상태를 디스크에 저장
- AOF(Append Only File) : 쓰기 명령을 로그처럼 계속 기록해 두었다가 재시작 시 재실행하여 복구
실무에서는 RDB와 AOF를 함께 사용해 성능과 복구 가능성을 균형 있게 맞추기도 한다.
데이터 구조는 key/value 기반이며, 단순 캐시를 넘어 다양한 자료구조를 제공하는 인메모리 데이터 저장소로 볼 수 있다.
대표 자료형
- String (text, binary data) - 512MB까지 저장이 가능함
- List (순서가 있는 문자열 목록)
- Set (중복 없는 문자열 집합)
- Sorted Set (score 기준으로 정렬되는 집합)
- Hash
추가로 Stream, Bitmap, HyperLogLog, Geospatial 등도 지원한다.