inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

98

zzzzz

작성한 질문수 192

0

선생님 코드 복붙했는데 어느 부분이 틀린지 잘 모르겠습니다.

class RedisCacheConfig 부분에서 RedisConnectionFactory redisConnectionFactory 이 부분이 에러가 나고

class BoardService애서 cacheManager = "boardCacheManager" 여기서도 에러가 납니다.

파일 첨부합니다.

 

redis nosql query-tuning performance-tuning

답변 2

0

JSCODE 박재성

안녕하세요 zzzzz님! 질문 잘 해주셨습어요~~

작성하신 코드까지 같이 올려주셔서 디버깅하기가 훨씬 수월했네요:)

 

config 폴더의 위치 때문에 RedisConnectionFactory를 Bean으로 인식하지 못하면서

발생한 에러로 확인됩니다!

아래와 같이 config 폴더 위치를 이동시킨 뒤에

실행시키시면 정상 실행되실거에요!

image.png

 

또 학습하시다가 안 되시는 점 있으시면 질문 남겨주세요~~~

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. zzzzz님 질문 주셔서 감사합니다.

Redis 환경 셋팅 시 발생한 에러에 대해 설명드리겠습니다. 주로 Redis 설정 과정에서 발생하는 문제는 설정의 하위 호환성이나 클래스 간의 의존성 문제인 경우가 많습니다.

문제 요약

  1. RedisConnectionFactory: 해당 부분에서 에러가 난다면, Spring에서 Redis를 연결하는데 필요한 RedisConnectionFactory bean이 제대로 설정되지 않았을 가능성이 있습니다. 보통 이 부분은 Redis와 Spring 간의 연결을 담당하는 중요한 요소입니다.

  2. cacheManager 설정: cacheManager = "boardCacheManager" 부분에서 에러가 난다는 것은 boardCacheManager라는 이름으로 등록된 CacheManager가 존재하지 않거나, 해당 bean이 제대로 등록되지 않았음을 의미합니다.

해결 방안

  • RedisConnectionFactory 해결:

    • RedisConnectionFactory는 보통 LettuceConnectionFactoryJedisConnectionFactory로 구현됩니다. 이러한 클래스가 제대로 import되어 있고, @Bean 설정이 되어 있는지 확인해 주세요.
    • 예시:
    @Configuration
    public class RedisConfig {
        @Bean
        public LettuceConnectionFactory redisConnectionFactory() {
            return new LettuceConnectionFactory(new RedisStandaloneConfiguration("server", 6379));
        }
    }
    
  • CacheManager 해결:

    • CacheManager의 이름을 등록할 때, 해당 이름이 제대로 등록되어 있는지, 또한 해당 이름의 CacheManager가 @Bean으로 적용되어 있는지 확인해 주세요.
    • 예시:
    @Configuration
    public class CacheConfig {
        @Bean
        public RedisCacheManager boardCacheManager(RedisConnectionFactory redisConnectionFactory) {
            return RedisCacheManager.builder(redisConnectionFactory)
                .cacheDefaults(RedisCacheConfiguration.defaultCacheConfig())
                .build();
        }
    }
    

참고 자료

이와 관련된 일반적인 설정 방법을 확인할 수 있는 링크를 소개해 드립니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

redis VS valkey

0

188

2

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

0

93

2

redis 적용을 위한 service 반환값

0

61

2

redis 사용으로 인한 비용

0

238

2

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

0

142

3

Elastic Cache 에러

0

85

2

Elastic

0

73

2

AWS 리소스 삭제에 관하여

0

74

2

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

0

83

2

Nest.js + Redis 구현 문제

0

677

3

데이터를 안가져와요

0

72

2

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

0

186

2

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

0

258

2

-parameters

0

128

2

Redis vs Memcached

0

228

2

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

0

155

2

k6의 결과 해석

0

256

2

Jackson2JsonRedisSerializer에 대한 궁금증

0

233

1

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

0

144

1

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

0

154

1

aws elasticcache redis 툴 접속.

0

217

1

Redis를 사용하는 이유

0

695

2

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

0

275

2

EC2 서버 실행시키기 관련하여

0

427

2