개발 공부/NestJS

인 메모리 데이터베이스, Redis (1편)

게으른 제이 2023. 3. 26. 17:20

인 메모리 캐싱은 주로 API 요청의 부하를 줄이기 위해 메모리에 데이터를 저장해놓는 것을 의미 합니다.

먼저 프로젝트에 의존성 패키지를 추가합니다. pnpm을 프로젝트 패키지 매니저로 사용하기 때문에 pnpm cli를 사용합니다.

 

이 게시글에서는 cache-manager-redis-store 2.0 버전을 사용합니다.

$ pnpm install cache-manager cache-manager-redis-store@^2.0

 

도커 컨테이너에 Redis와 Redis Commander를 설치합니다.

Redis Commander는 Redis를 편리하게 관리할 수 있게 도와주는 툴입니다.

  redis:
    image: 'redis:alpine'
    env_file:
      - .env
    ports:
      - ${REDIS_PORT}:${REDIS_PORT}
    networks:
      - network
    volumes:
      - redis:/data

  redis-commander:
    image: rediscommander/redis-commander:latest
    environment:
      - REDIS_HOSTS=local:redis:${REDIS_PORT}
    ports:
      - ${REDIS_VIEWER_PORT}:${REDIS_VIEWER_PORT}
    depends_on:
      - redis
    networks:
      - network
      
   volumes:
  	 redis:
       driver: local

이제 Docker-Compose cli로 백그라운드 환경에 도커 컨테이너들을 실행합니다.

$ docker-compose up -d

 

설정해둔 레디스 커맨더의 주소로 접속해 잘 작동하는지 확인합니다.

 

잘 작동한 모습

 

다음 편에는 레디스를 직접 서비스에서 활용하는 방법을 알아보겠습니다.