Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Redis Cache 설정 및 홈 화면 공고 조회 캐싱 적용 #154

Merged
merged 2 commits into from
Jan 19, 2024

Conversation

kyeong-hyeok
Copy link
Member

💡 연관된 이슈

close #153

📝 작업 내용

Redis Cache 설정

  • Redis에 공고 조회 결과를 저장할 때 다음과 같은 에러 발생 - 날짜 타입에 대한 직렬화 실패
[Resolved [org.springframework.data.redis.serializer.SerializationException:
Could not write JSON: Java 8 date/time type `java.time.LocalDateTime`
not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling](org.springframework.data.redis.serializer.serializationexception: could not write json: java 8 date/time type `java.time.localdate` not supported by default: add module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling (through reference chain: java.util.arraylist[0]->com.pawwithu.connectdog.domain.post.dto.response.postgethomeresponse["startdate"]))

홈 화면 공고 조회 캐싱 적용

  • 수행 시간: 126ms -> 11ms
  • 홈 화면 공고 조회는 새로운 공고가 등록될 경우 값이 바뀌기 때문에 공고 등록 시 @CacheEvict으로 저장된 캐시를 삭제함
  • 공고가 삭제될 경우에도 @CacheEvict를 이용 -> 최근에 등록한 공고가 삭제되지 않으면 괜찮지만 ,, 최근에 등록한 공고인지 여부를 확인하고 Redis 데이터를 삭제하는 것이 번거로울 듯

💬 리뷰 요구 사항

Cacheable을 사용했을 때 미치는 영향을 더 고려해야 할 것 같아서 먼저 홈 화면 5개의 공고를 조회하는 API에 적용해 보았습니다!
간단한 참고 자료: https://gngsn.tistory.com/157

@kyeong-hyeok kyeong-hyeok added ✨ Feature 기능 개발 Priority: Medium 우선순위 중간 🐯 Koeyhk 담당자 labels Dec 1, 2023
@kyeong-hyeok kyeong-hyeok linked an issue Dec 1, 2023 that may be closed by this pull request
2 tasks
Copy link
Member

@hojeong2747 hojeong2747 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

신기하다 캐싱 ..
간단한 코드로 효율적으로 동작한다니 이걸 바로 적용해 봤다니
완전 좋은 인사이트 감사합니다👍

@kyeong-hyeok kyeong-hyeok merged commit b2dd88c into develop Jan 19, 2024
1 check passed
@kyeong-hyeok kyeong-hyeok deleted the feat/153-redis-cache-get-home-posts branch January 19, 2024 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Feature 기능 개발 🐯 Koeyhk 담당자 Priority: Medium 우선순위 중간
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature] Redis Cache 설정 및 홈 화면 공고 조회 캐싱 적용
2 participants