인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

sje11900님의 프로필 이미지

작성한 질문수

백엔드 개발자 성능 개선 초석 다지기

Ehcache를 활용한 공지사항 데이터 캐싱(2) - key , condition 옵션 활용

캐싱 데이터가 안보입니다.

작성

·

17

0

12.png.webp123.png.webp

 

조회를 하고 cache확인 api를 호출해도 캐시데이터가 보이지 않습니다.. 어디를 확인해봐야할까요?

chatGPT를 통해 물어보고 확인해본 아래다섯가지는 정상적입니다. 코드도 깃허브 코드에서 수정한것이 없어서 질문남깁니다

spring.cache.type=ehcache 설정 확인
ehcache.xml 파일 존재 여부 및 경로 확인
Ehcache 의존성 (ehcache 라이브러리) 추가 여부 확인
@EnableCaching 설정 확인
@Cacheable이 정상적으로 적용되었는지 확인

답변 2

0

인큐(INCU)님의 프로필 이미지
인큐(INCU)
지식공유자

안녕하세요. sje11900님!

아래의 순서 점검해보는 것을 추천드립니다.

1.첫 조회이후 TTL 설정시간이 지나기전까지 디비가 아닌 캐시에서 데이터를 조회해오는게 맞는지 점검

ㄴ> 디비에서 데이터를 조회시 console에서 sql이 찍히게 설정해주세요.

 

2.TTL을 너무 짧게 설정해둔게 아닌지?

ㄴ> /api/notice 호출을 하여 캐싱 한 후 TTL 설정시간이 끝나기전에 확인 해본게 아니라 이후에 /api/ehcache를 호출한게 아닌지?

 

3.디버깅 시도

TTL은 일단 넉넉히 설정을 해두고 캐싱 처리를 한 후에 /api/ehcache 에 해당하는 컨트롤러 부분에 디버깅을 통해 데이터를 확인

 

3가지 순차적으로 체크부탁드립니다.

감사합니다!

0

인프런 AI 인턴님의 프로필 이미지

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

sje11900님, 캐싱 데이터를 확인하려 할 때 아래와 같은 여러 가지 점들을 검토하면 도움이 될 수 있습니다. 제공해주신 이미지와 질문을 바탕으로 몇 가지 검토할 사항을 아래에 안내드립니다:

  1. 캐시가 적용되는 코드 경로 확인:

    • @Cacheable 어노테이션이 적용된 메소드가 실제 호출되고 있는지 확인해주세요. 보통 캐싱이 잘 되지 않을 때는 캐시가 적용될 코드 경로가 정확히 맞지 않거나, 해당 메소드가 호출되지 않고 있을 수 있습니다.
  2. 로그 설정 검토:

    • Spring의 캐시 관련 로그를 활성화하여 어떤 동작이 수행되고 있는지 명확히 파악할 수 있도록 합니다. logging.level.org.springframework.cache=DEBUG 등의 설정을 통해 Spring 캐시의 로그를 자세히 볼 수 있습니다.
  3. 캐시 구성 파일 검토:

    • ehcache.xml 파일의 경로와 구성 내용이 정확하고, 필요한 캐시 영역이 정의되어 있는지 확인하세요. 잘못된 설정이 있으면 캐시가 예상대로 동작하지 않을 수 있습니다.
  4. API 응답과 캐시 일치 확인:

    • localhost:8080/api/notices/1를 호출하여 반환된 데이터와 localhost:8080/api/ehcache에서 캐시된 데이터가 실제 일치하는지 확인하세요. 만약 두 데이터가 일치하지 않는다면 캐시가 제대로 저장되지 않았을 수 있습니다.
  5. 캐시 갱신 정책:

    • @CachePut 또는 @CacheEvict와 같은 캐시 갱신 또는 삭제 정책이 어디서 어떻게 설정되어 있는지도 확인해보세요.

해당 사항들을 검토해보고도 문제가 해결되지 않는다면, 강의 내용과 관련된 자료에서 캐싱 부분을 다시 한번 확인해보는 것이 좋습니다. 이전에 발생한 유사한 문제나 주제를 다룬 답변이 있는지 아래의 링크를 참고하여 보세요.

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

sje11900님의 프로필 이미지

작성한 질문수

질문하기