inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)

Spring Boot 프로젝트에 Redis 셋팅 추가하기

LettuceConnectionFactory 를 RedisConnectionFactory 의 빈으로 등록하지 않는 특별한 이유가 있나요?

해결된 질문

250

psam1017.nodeblack

작성한 질문수 6

0

안녕하세요, 좋은 강의 감사합니다.

 

강의시간 3:10

LettuceConnectionFactory 라는 게 있어서 한 번 들여다봤는데, RedisConnectionFactory 를 구현하는 객체로 보입니다. 이왕이면 RedisConnectionFactory 빈의 구현체로 등록하고, 또 RedisConnectionFactory 를 의존하도록 설계하고 싶은 욕구가 생겨서 그렇게 해봤는데, 일단 별 문제는 안 생긴 것 같습니다.
LettuceConnectionFactory 를 실제로 RedisConnectionFactory 의 구현체로 등록해도 상관없나요? 아니면 혹시나 혹시나, RedisConnectionFactory 의 빈으로 등록하면 안 되는 이유가 있는 건가요?

@Bean
public RedisConnectionFactory lettuceConnectionFactory() {
return new LettuceConnectionFactory(new RedisStandaloneConfiguration(host, port));
}

redis nosql query-tuning performance-tuning

답변 2

0

JSCODE 박재성

안녕하세요 psam1017.nodeblack님!

외부 일정으로 인해 답장이 조금 늦었네요ㅠㅠㅠㅠ!

질문해주신 내용에 대해 바로 답변 드려볼게요:D

 

말씀해주신 대로 LettuceConnectionFactory보다

추상적인 타입인 RedisConnectionFactory라고 선언하는 것이

객체지향의 확장성 측면에서 훨씬 좋은 선언 방법입니다👍

 

말씀해주신 방법으로 구현하시는 게 더 좋은 방법이니

보여주신 방법으로 구현하셔도 됩니다ㅎㅎ

 

이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

본문에 나와 있는 내용을 토대로 RedisConnectionFactory의 구현체로 LettuceConnectionFactory를 등록하는 것에 대해 말씀드리겠습니다.

Spring Boot는 Lettuce와 Jedis 클라이언트 라이브러리를 모두 지원하며, 이들은 Spring Data Redis를 통해 추상화되어 있습니다. 따라서 LettuceConnectionFactory를 RedisConnectionFactory의 구현체로 사용하는 것은 Spring Boot에서 기본적으로 지원하는 행위입니다. 기본적으로 Spring Boot는 Lettuce를 사용하는데, 이는 비동기 이벤트 기반으로 높은 성능을 제공하기 때문입니다.

다음 코드는 LettuceConnectionFactory를 RedisConnectionFactory 타입의 빈으로 등록하는 예제입니다:

@Bean
public RedisConnectionFactory lettuceConnectionFactory() {
    return new LettuceConnectionFactory(new RedisStandaloneConfiguration(host, port));
}

이와 관련해 Spring Boot에서 auto-configuration을 통해 LettuceConnectionFactory가 RedisConnectionFactory로 자동 설정되는 것을 확인할 수 있습니다. custom 설정이 필요하지 않는 한, Spring Boot의 auto-configuration이 용이한 방법을 제공합니다.

결론적으로, LettuceConnectionFactory를 RedisConnectionFactory의 구현체로 등록하는 것은 문제가 되지 않으며, 이는 Spring Boot에서 의도한 바와도 일치합니다. 다만, 특별한 설정이 필요한 경우에는 상세한 구성을 통해 요구 사항을 충족시킬 수 있습니다.

참고자료를 보시면 더 도움이 될 것 같습니다:
- 제목: Spring Boot Reference Documentation v3.1.5 > 9. Data > 9.2. Working with NoSQL Technologies > 9.2.1. Redis
- 원문 링크: Spring Boot Reference Documentation

redis VS valkey

0

200

2

스프링 부트에 Redis 적용하기 질문

0

97

2

redis 적용을 위한 service 반환값

0

62

2

redis 사용으로 인한 비용

0

240

2

Redis를 적용했음에도 불구하고 조회 성능의 큰 차이가 없고 오히려 더 안좋은 조회속도를 보이는 것 같습니다.

0

144

3

Elastic Cache 에러

0

85

2

Elastic

0

74

2

AWS 리소스 삭제에 관하여

0

74

2

ec2안에서 pull 받는 이유가 뭔가요 ?

0

83

2

Nest.js + Redis 구현 문제

0

677

3

데이터를 안가져와요

0

72

2

Spring Boot 프로젝트에 Redis 셋팅 추가하기에서 13분 질문있습니다.

0

188

2

레디스 환경 셋팅 질문있습니다.

0

99

2

엘라스틱 서치와 레디스의 차이점을 알고 싶습니다.

0

262

2

-parameters

0

128

2

Redis vs Memcached

0

230

2

redis 를 compose 로 묶어준 이유가 궁금합니다.

0

155

2

k6의 결과 해석

0

257

2

Jackson2JsonRedisSerializer에 대한 궁금증

0

233

1

사용된 어노테이션에 관한 질문

0

146

1

Redis 사용 방식에 대해서 질문 있습니다

0

154

1

aws elasticcache redis 툴 접속.

0

219

1

Redis를 사용하는 이유

0

709

2

로컬에서 docker compose 명령어 실행 시

0

275

2