inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

Cacheable key값 설정에서 null

해결된 질문

460

mok

작성한 질문수 1

0

 @Cacheable(cacheNames = "getBoards", key = "'boards:page:' + #page + ':size:' + #size", cacheManager = "boardCacheManager")
    public List<Board> getBoards(int page, int size) {
        Pageable pageable = PageRequest.of(page - 1, size);
        Page<Board> pageOfBoards = boardRepository.findAllByOrderByCreatedAtDesc(pageable);
        return pageOfBoards.getContent();
    }
}

여기서 key = "'boards:page:' + #page + ':size:' + #size"
레디스에 저장되는 키값은 "getBoards::boards:page:null:size:null" 이렇게 저장이 됩니다. 혹시 null이 들어가는 이유가 있을까요? page와 size의 데이터도 잘 넘어오고 레디스에서 저 키값으로 조회를 하면 안에 데이터는 잘 들어가 있습니다. #page와 #size가 null인 이유가 있을까요?

redis nosql query-tuning performance-tuning

답변 2

0

JSCODE 박재성

안녕하세요 mok님!!

작동하지 않는 코드 혹시 Github에 올려서 공유 한 번 해주실 수 있을까요~??

디버깅해보고 어떤 게 문제인지 파악되면 답변 드릴 수 있도록 할게요:D

0

mok

https://github.com/parcPrive/redis-study
여기에 올렸습니다.

0

JSCODE 박재성

안녕하세요 mok님!

올려주신 프로젝트를 활용해서 테스트해봤는데

아래와 같이 정상적으로 저장이 되는 걸로 확인됩니다!

image.png

 

혹시 다시 한 번 테스트해보시고

역시나 안 되신다면 아래 오픈 톡방으로 카톡 한 번만 남겨주세요~~

https://open.kakao.com/o/srhVnUGg

0

인프런 AI 인턴

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

Cacheable key 값 설정 시 null이 들어가는 문제에 대해 궁금해하셨군요. 일부 다른 수강생들도 유사한 문제를 겪었으며, 이에 대한 답변을 드리도록 하겠습니다.

아래는 유사한 질문과 그에 대한 답변 링크입니다:

1. CacheManager 설정 관련 질문

이 질문에서는 CacheManager를 설정하는 방법에 대한 논의가 있으며, 캐시 설정을 통해 키값의 구조를 어떻게 변경할 수 있는지에 대한 힌트를 얻을 수 있습니다.

2. RDS 관련 이슈

이 질문에서는 Hibernate 설정 문제와 관련한 설명이 포함되어 있으며, 이는 캐시 키값 설정에도 적용될 수 있는 부분이 있습니다. 캐시의 설정이나 키값 생성에서의 문제를 해결하는 데 도움이 될 것입니다.

추가 팁:
- 메소드의 파라미터가 제대로 전달되지 않아 캐시 키값에 null이 들어가는 경우가 있으므로 @Cacheable 어노테이션의 key 속성에서 사용하는 SpEL 표현식이 올바르게 지정되었는지 확인하세요.
- 메소드에 전달되는 파라미터인 pagesize가 실제로 null인지 디버깅을 통해 확인해 보세요.
- Spring Expression Language (SpEL)를 사용할 때 파라미터명이 정확히 적용되었는지 확인하세요.

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

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