Computer >> 컴퓨터 >  >> 프로그래밍 >> Redis

Redis 캐시 설치 및 구성 완벽 가이드: 단계별 따라하기

이번 글에서는 Redis 캐시가 무엇인지 살펴보고, 로컬 환경과 Docker 두 가지 방식으로 설치하고 구성하는 방법을 단계별로 자세히 알아보겠습니다.

목차

  • 개요
  • 캐싱이란?
  • Redis 캐시란?
  • Redis 캐시 서버 설치
  • Docker를 활용한 Redis 캐시 이미지 구동

개요

캐싱은 최근 소프트웨어 업계에서 가장 주목받는 기술 중 하나로, 애플리케이션의 성능과 확장성을 크게 향상시켜 줍니다. Gmail이나 Facebook처럼 우리가 매일 사용하는 웹 애플리케이션이 어떻게 그렇게 빠르게 반응하고 뛰어난 사용자 경험을 제공할 수 있는지 궁금한 적이 있을 것입니다. 인터넷 사용자가 폭발적으로 증가하면서 애플리케이션에 대량의 트래픽과 요청이 몰릴 경우, 성능 저하 없이 안정적인 서비스를 제공하려면 여러 가지 최적화 기법이 필요합니다. 바로 이런 문제를 해결하는 핵심 솔루션이 캐싱입니다.

캐싱이란?

캐시(Cache)는 자주 접근되는 데이터를 임시 저장소에 보관하는 메모리 공간입니다. 캐시를 활용하면 성능을 획기적으로 개선할 수 있고, 불필요한 데이터베이스 조회를 줄여 시스템 부하를 낮출 수 있습니다. 자주 사용되는 데이터를 미리 버퍼에 저장해 두면, 데이터가 필요할 때마다 매번 원본 저장소에 접근하지 않고도 빠르게 응답할 수 있습니다.

Redis 캐시 설치 및 구성 완벽 가이드: 단계별 따라하기

Redis 캐시 설치 및 구성 완벽 가이드: 단계별 따라하기

위 이미지는 캐시를 사용하지 않은 경우와 사용한 경우, 두 가지 시나리오를 보여줍니다. 캐시가 없다면 사용자가 데이터를 요청할 때마다 매번 데이터베이스에 접근하게 됩니다. 특히 모든 사용자에게 동일한 정적 데이터를 제공하는 상황이라면, 동일한 요청이 반복적으로 데이터베이스에 전달되어 시간 복잡도가 증가하고 전반적인 성능이 저하됩니다.

반면 캐시를 적용하면 이야기가 달라집니다. 첫 번째 사용자만 데이터베이스에 접근해 데이터를 조회한 뒤 캐시 메모리에 저장하고, 이후 사용자들은 데이터베이스에 불필요하게 접근하지 않고 캐시에서 바로 데이터를 가져올 수 있습니다. 결과적으로 데이터베이스 부하가 크게 줄고 응답 속도도 눈에 띄게 빨라집니다.

Redis 캐시란?

  • 오픈 소스 인메모리 데이터 저장소: Redis는 BSD 라이선스 기반의 오픈 소스 인메모리 데이터 구조 저장소로, 데이터베이스, 캐시, 메시지 브로커 등 다양한 용도로 활용됩니다.
  • 빠른 데이터 처리: 메모리 기반으로 동작하기 때문에 디스크 기반 데이터베이스보다 훨씬 빠른 읽기·쓰기 성능을 제공합니다.
  • 다양한 자료 구조 지원: List, Set, Hash, Sorted Set, Stream 등 풍부한 데이터 구조를 제공하여 용도에 맞게 유연하게 데이터를 저장할 수 있습니다.

Redis 캐시 서버 설치 (Windows)

먼저 로컬 시스템에 Redis 캐시 서버를 직접 설치하고 사용하는 방법을 살펴보겠습니다.

1단계: Redis 서버 다운로드

아래 URL에서 Windows용 Redis 서버를 다운로드합니다.

https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504

2단계: 압축 해제 및 서버 실행

다운로드한 zip 파일의 압축을 푼 뒤, Redis 서버(redis-server)와 Redis CLI(redis-cli)를 실행합니다.

서버가 정상적으로 구동되면 6379 포트(Redis 기본 포트)에서 실행 중임을 확인할 수 있습니다.

3단계: Redis CLI로 명령어 실습

이제 Redis CLI를 열고 기본 명령어들을 직접 입력해 보겠습니다.

Redis 캐시 설치 및 구성 완벽 가이드: 단계별 따라하기

실무에서 자주 사용되는 핵심 명령어는 다음과 같습니다.

  • KEYS * — Redis 캐시 서버에 현재 저장된 모든 키 목록을 조회합니다.
  • SET <키 이름> "키 값" — 지정한 키에 값을 저장합니다.
  • GET <키 이름> — 지정한 키에 저장된 값을 조회합니다.
  • PING — Redis 서버가 정상적으로 실행 중인지 확인합니다. (PONG이 반환되면 정상)
  • FLUSHALL — Redis 서버에 저장된 모든 키를 삭제합니다.

위 명령어는 가장 기본적인 예시일 뿐입니다. 더 많은 명령어가 궁금하다면 Redis 공식 문서를 참고하세요.
https://redis.io/docs/manual/cli/

Docker를 활용한 Redis 캐시 이미지 구동

두 번째 방법은 Docker Desktop을 이용해 Redis 캐시를 컨테이너로 실행하는 것입니다. 환경 구성이 간편하고 어디서나 동일한 환경을 재현할 수 있다는 장점이 있습니다.

1단계: Docker Desktop 설치

먼저 아래 공식 사이트에서 자신의 운영체제에 맞는 Docker Desktop을 다운로드해 설치합니다.

https://www.docker.com/products/docker-desktop/

2단계: Docker Desktop 실행

설치가 완료되면 Docker Desktop을 실행하고, 백그라운드에서 정상적으로 구동 중인지 확인합니다.

3단계: Redis 이미지 다운로드

명령 프롬프트(또는 터미널)를 열고 다음 명령어를 실행합니다. (Docker Desktop이 실행 중이어야 합니다.)

docker pull redis

Redis 캐시 설치 및 구성 완벽 가이드: 단계별 따라하기

명령어 실행이 완료되면 Redis 공식 Docker 이미지가 로컬에 다운로드되며, Docker Desktop의 Images 목록에서 확인할 수 있습니다.

4단계: Redis 컨테이너 실행

다음 명령어로 Redis 이미지를 컨테이너로 구동합니다. 컨테이너 이름, 포트 매핑, 이미지 이름을 파라미터로 지정합니다.

docker run --name myredis -p 6379:6379 -d redis

각 옵션의 의미는 다음과 같습니다.

  • --name myredis: 컨테이너 이름을 myredis로 지정
  • -p 6379:6379: 호스트의 6379 포트를 컨테이너의 6379 포트와 연결
  • -d: 백그라운드(detached) 모드로 실행

이후 docker ps 명령어를 입력하면 현재 실행 중인 컨테이너 목록과 함께 Redis 컨테이너의 상세 정보를 확인할 수 있습니다.

docker ps

5단계: 컨테이너 내부의 Redis 연결

이제 컨테이너 안에서 실행 중인 Redis에 접속해 보겠습니다.

docker exec -it myredis sh

Redis 캐시 설치 및 구성 완벽 가이드: 단계별 따라하기

컨테이너 셸에 진입한 뒤 redis-cli를 실행하면, 로컬 설치 때와 동일하게 캐시 명령어를 사용할 수 있습니다. 이것이 Docker를 활용한 Redis 캐시 구동 방법입니다.

.NET Core Web API와 함께 Redis를 실제 프로젝트에 적용하는 방법이 궁금하다면, 관련 실전 예제 글도 함께 참고하시길 추천합니다.

결론

지금까지 Redis 캐시의 개념과 캐싱이 필요한 이유를 살펴보고, 로컬 서버 직접 설치 방식과 Docker 컨테이너 방식 두 가지로 Redis를 설치·구성하는 과정을 단계별로 알아보았습니다. 또한 실무에서 자주 사용되는 핵심 CLI 명령어도 함께 정리했습니다. 이 가이드를 따라 하면 누구나 손쉽게 Redis 캐시 환경을 구축할 수 있을 것입니다.

즐거운 학습 되세요!