inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

페이지 데이터 캐싱할때 질문

160

donkey

작성한 질문수 28

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();
}


아래처럼 Page 객체 자체를 보내야,실제로 페이징 처리가 가능할텐데요

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

이렇게 하면, Page 역직렬화시 오류가 발생하는데, 이렇게 Page<Board>를 보내줘야 할 때는 어떻게 보내야할지 모르겠습니다. 정확히 캐싱의 역직렬화가 어디까지 가능한지 파악이 잘 안되서..


gpt한테 물어보니, Page 같은 특수한 객체는 역직렬화 방법이 없고, db에서 찾은 page를 분해해서 이걸 다시 dto로 감싸서 보내라는데, 이런 방식밖에 없는건지.. Page 데이터 보내실때 어떻게 보내시는지 궁금합니다.

redis nosql query-tuning performance-tuning

답변 1

1

JSCODE 박재성

안녕하세요 donkey님! 좋은 질문 해주셨네요:)

 

응답의 형태로 페이지의 컨텐트가 아닌 Page 객체를 통째로 보내고 싶으신 게 맞으실까요~??

만약 이게 맞으시다면 ChatGpt가 얘기해준 것처럼 응답을 위한 DTO 객체를 따로 만들 것 같습니다!

왜냐면 말씀해주신 대로 Page 같은 객체로 응답할 수 없는 경우가 있습니다!

 

왜 역직렬화로 작동을 하지 않는 지에 대한 디버깅은

아래 설정 코드의 라이브러리를 기준으로 검색해보시면 좋을 것 같습니다!

image.png

 

다른 방법으로는 '디버깅 기능'을 활용해서 어떤 부분의 로직 때문에 역직렬화가 안 되는 지

분석해보는 방법도 있을 것 같네요~!!

 

이 외로 궁금한 점 생기시면 언제든 질문 남겨주세요~~

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