인프런 커뮤니티 질문&답변

Anonymous님의 프로필 이미지

작성한 질문수

재고시스템으로 알아보는 동시성이슈 해결방법

Redisson을 Ebedded로 실행하는 방법이 있을까요?

작성

·

246

0

안녕하세요.

Redisson을 이용해서 분산락을 적용하고 있습니다.

로컬과 테스트 코드를 실행할 때, Redis를 로컬에서 띄우지 않으면 사용할 수가 없습니다.

 

그래서 implementation 'com.github.codemonstur:embedded-redis:1.4.2' 의존성을 추가해서 Redis를 embedded로 실행할 수 있도록 했습니다.

 

하지만 Redisson은 연결이 되지 않는것처럼 보여서요. 혹시 방법이 있을까요?

 

만약, embedded로 실행할 수 없다면 로컬, 테스트에서는 어떤 방식으로 진행하시는지 경험적 의견을 여쭤보고 싶습니다. 감사합니다.

 

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redisson' defined in class path resource [org/redisson/spring/starter/RedissonAutoConfigurationV2.class]: Failed to instantiate [org.redisson.api.RedissonClient]: Factory method 'redisson' threw exception with message: java.util.concurrent.ExecutionException: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: localhost/127.0.0.1:6379

답변 1

0

최상용님의 프로필 이미지
최상용
지식공유자

Anonymous 님 안녕하세요.
제가 embedded-redis 를 사용해본 적이 없기에 해당 오류에 대해서는 말씀을 드리기는 힘들 것 같습니다.
docker image 를 사용하여 로컬에서 손쉽게 레디스를 활용할 수 있는데 embedded-redis 를 사용하시는 이유가 있으신지 궁금합니다.

개인적으로 로컬에서는 docker 를 활용하여 redis 환경을 구축하고 테스트코드에서는 test container 를 활용하여 redis 환경을 구축하는 편입니다.

감사합니다.

Anonymous님의 프로필 이미지
Anonymous
질문자

embedded-redis를 사용하는 개인적인 이유는 없습니다. (경험이 없습니다.)

다만, 로컬과 테스트 코드에서는 데이터베이스를 설치없이 H2로 개발을 진행했는데, Redis는 따로 띄워서 해야하는가 의문이 들어서 관련 자료를 찾게되어 적용했습니다.

 

현업에서는 로컬 개발에서 DB, Redis 등 어떤 방식으로 진행하는지 궁금했습니다.

최상용 강사님의 경험적인 가이드를 받을 수 있을까요?

 

제가 궁금한 부분은 다음과 같습니다.

  1. docker를 활용하여 redis 환경을 구축하신다고 했는데, 그렇다면 프로젝트에 참여한 모든 개발자가 각자 로컬에 도커를 통해서 redis 환경을 구축해서 개발을 진행하는게 맞을까요?

  2. 테스트 코드에서 Test Container를 말씀하셨는데, 관련하여 어떤 방식인지 좀 더 자세히 알 수 있을까요?

  3. 로컬에서 테스트 코드 실행 시에는 로컬에 도커로 구축한 redis 환경을 사용하는걸까요?

  4. 혹시 Redis 뿐만 아니라 DB도 docker로 구축하여 사용하시나요?

감사합니다.