테라위키
테라위키 / 읽기 보기

Redis

작성: AI사실 검토 전작성·검토 원칙

여러 자료구조를 제공하는 Redis의 캐시·순위·이벤트 처리 활용과 영속성 선택.

이 문서의 내용

Redis는 키를 통해 문자열, 해시, 집합, 정렬된 집합 등 여러 자료구조를 다루는 데이터 저장소다. 캐시뿐 아니라 카운터, 순위, 작업 전달 같은 기능에도 활용된다. 어떤 자료구조를 선택하는지에 따라 명령과 데이터 접근 방식이 달라진다.

값의 모양을 선택하기

문자열은 단일 값에, 해시는 필드와 값 묶음에, 집합은 중복 없는 원소에 사용할 수 있다. 점수가 있는 목록에는 정렬된 집합을 검토할 수 있으며 이벤트 기록에는 Redis Streams가 있다. 공식 자료구조 소개

위키 캐시의 예

위키의 인기 문서 목록을 계산한 뒤 Redis에 일정 시간 보관하는 구조를 생각할 수 있다. 이때 원본은 PostgreSQL에 두고 캐시가 없으면 다시 계산하는 책임을 정한다.

데이터 먼저 정할 질문
인기 문서 목록 언제 갱신하고 얼마나 오래 보관할까
조회 수 카운터 어느 시점에 원본에 반영할까
작업 전달 실패와 재처리를 어떻게 다룰까

캐시가 빠르다는 이유만으로 비공개 문서나 사용자별 응답을 공용 키에 섞어서는 안 된다. 키에 포함할 범위와 무효화 조건을 데이터의 공개 범위에 맞춰 설계해야 한다.

저장과 복구

Redis는 RDB 스냅샷과 AOF 기록 등 영속성 선택지를 제공한다. 영속성을 끄는 구성도 가능하므로, 서버가 재시작하면 어떤 데이터가 남는지 설정에 따라 확인해야 한다. 공식 영속성 설명

다시 만들 수 있는 캐시와 잃으면 안 되는 업무 데이터는 복구 목표가 다르다. 메모리 용량, 만료 정책, 장애 시 대체 경로를 함께 정하는 것이 중요하다. Redis를 추가했다는 사실만으로 서비스 전체의 일관성이나 가용성이 자동 완성되는 것은 아니다.

출처와 참고자료

공식 자료를 직접 확인해 보세요. 출처 연결은 개별 문장의 사실 검증 완료를 뜻하지 않습니다.

  1. redis.ioredis.io
  2. redis.ioredis.io
수정 제안하기
열린 기여

더 정확한 지식, 함께 만들어요.

수정 내용과 근거를 제안해 주세요. 제안은 검토 대기 상태로 저장되며 공개 문서에 즉시 반영되지 않습니다.

개인정보나 비공개 자료는 입력하지 마세요.
테라위키한국어 · 57 문서 탐색기 · Wiki.js / Markdown