MinChur

인메모리 데이터베이스: Redis의 데이터 타입과 활용 전략

|
1 min read

메모리 기반의 압도적인 속도를 자랑하는 Redis의 다양한 자료형(String, List, Set, Hash, Sorted Set)과 실무 활용 사례를 정리합니다.

1. Redis의 5가지 핵심 자료형

  • String: 가장 기본형. 단순 값 저장부터
    text
    INCR
    명령어를 통한 방문자 수 카운팅에 유용합니다.
  • List: 양방향 연결 리스트. 큐(Queue)나 스택(Stack)으로 활용하며, 최근 게시물 목록 등에 쓰입니다.
  • Set: 중복 없는 집합. 좋아요 누른 유저 ID 저장이나 공통 친구 찾기 등에 최적입니다.
  • Hash: Field-Value 쌍의 집합. 객체 형태의 데이터(예: 사용자 프로필)를 저장할 때 구조화된 관리가 가능합니다.
  • Sorted Set: 점수(Score)를 기반으로 정렬된 집합. 게임 리더보드나 실시간 인기 검색어 구현에 강력한 위력을 발휘합니다.

2. 실무 활용 사례

  • 캐싱 (Caching): DB 조회 결과를 저장하여 부하를 줄입니다.
  • 세션 관리: 여러 서버가 사용자 로그인 상태를 공유해야 할 때 중앙 저장소로 활용합니다.
  • Rate Limiter: 특정 시간 동안 요청 횟수를 제한하여 시스템을 보호합니다.
  • Pub/Sub: 간단한 메시징 시스템을 구축하여 알림 기능을 구현합니다.

3. 주의사항: TTL과 메모리 관리

메모리는 한정된 자원이기 때문에

text
EXPIRE
명령을 통해 데이터의 유효 시간(TTL)을 설정하는 것이 중요합니다. 또한 데이터 유실을 대비한 백업 전략(RDB, AOF)도 함께 고민해야 합니다.