Skip to content

[Concert] 공연 목록 , 상세 캐싱 추가#162

Merged
Creamcheesepie merged 7 commits into
mainfrom
feat/#127
Dec 23, 2025
Merged

[Concert] 공연 목록 , 상세 캐싱 추가#162
Creamcheesepie merged 7 commits into
mainfrom
feat/#127

Conversation

@Creamcheesepie
Copy link
Copy Markdown
Collaborator

🔗 관련 이슈

관련된 이슈 번호를 연결해주세요.
Close #이슈번호 를 쓰면 PR merge 시 자동으로 close 됩니다.

🚀 PR 개요

이 PR이 어떤 변경을 포함하고 있는지 간단히 설명해주세요.

  • 공연 목록에 대한 캐싱이 추가되었습니다.
  • 공연 상세에 대한 캐싱이 추가되었습니다.
  • 공연 조회수를 따로 map으로 저장하고 오전 5시에 일괄 갱신 후 캐시 데이터를 초기화합니다.
  • @query 부분이 난잡했던 것을 생성자 통해서 처리해서 간단하게 만들었습니다.

📌 변경 사항

주요 변경 내용을 체크리스트 형태로 정리해주세요.

  • 기능 추가
  • 버그 수정
  • 리팩터링
  • 문서 업데이트
  • 테스트 추가/수정

🧪 테스트 방법

변경된 내용을 어떻게 테스트했는지 구체적으로 적어주세요.

  1. Postman 통한 end to end test
  2. 도커 이용한 메모리 사용량 모니터링

⚠️ 참고 사항

리뷰어가 알아야 할 사항이 있다면 자유롭게 작성해주세요.

  • 리스트를 통짜로 저장하는게 정답일까요?

@github-actions
Copy link
Copy Markdown

Test Results

6 tests  ±0   6 ✅ ±0   0s ⏱️ ±0s
3 suites ±0   0 💤 ±0 
3 files   ±0   0 ❌ ±0 

Results for commit ff02e20. ± Comparison against base commit af957e2.

@github-actions
Copy link
Copy Markdown

⭐ JaCoCo Coverage

Line Coverage: 6.85%

📄 Coverage Details

Overall Line Coverage: 6.81% (190 covered / 2791 lines)

Package Summary (lowest first)
Package Line % Covered Missed
com/back/web7_9_codecrete_be/domain/chats/controller 0.00% 0 2
com/back/web7_9_codecrete_be/domain/chats/service 0.00% 0 38
com/back/web7_9_codecrete_be/domain/plans/controller 0.00% 0 43
com/back/web7_9_codecrete_be/domain/location/controller 0.00% 0 14
com/back/web7_9_codecrete_be/global/rsData 0.00% 0 11
com/back/web7_9_codecrete_be/domain/chats/entity 0.00% 0 4
com/back/web7_9_codecrete_be/domain/location/entity 0.00% 0 15
com/back/web7_9_codecrete_be/global/scheduler 0.00% 0 3
com/back/web7_9_codecrete_be/domain/auth/entity 0.00% 0 0
com/back/web7_9_codecrete_be/domain/auth/service 0.00% 0 136
com/back/web7_9_codecrete_be/domain/plans/service 0.00% 0 311
com/back/web7_9_codecrete_be/global/initData 0.00% 0 51
com/back/web7_9_codecrete_be/domain/users/controller 0.00% 0 26
com/back/web7_9_codecrete_be/domain/email/entity 0.00% 0 6
com/back/web7_9_codecrete_be/domain/auth/controller 0.00% 0 24
com/back/web7_9_codecrete_be/domain/artists/controller 0.00% 0 27
com/back/web7_9_codecrete_be/global/aspect 0.00% 0 4
com/back/web7_9_codecrete_be/global/wikidata 0.36% 1 279
com/back/web7_9_codecrete_be/domain/artists/service 0.76% 3 390
com/back/web7_9_codecrete_be/domain/users/service 0.97% 1 102
com/back/web7_9_codecrete_be/global/musicbrainz 0.99% 1 100
com/back/web7_9_codecrete_be/domain/email/service 1.61% 1 61
com/back/web7_9_codecrete_be/domain/concerts/controller 3.23% 1 30
com/back/web7_9_codecrete_be/domain/concerts/entity 3.33% 3 87
com/back/web7_9_codecrete_be/global/storage 3.57% 2 54
com/back/web7_9_codecrete_be/domain/concerts/service 5.06% 25 469
com/back/web7_9_codecrete_be/domain/artists/entity 8.33% 4 44
com/back/web7_9_codecrete_be/global/rq 10.87% 5 41
com/back/web7_9_codecrete_be/domain/users/util 14.29% 1 6
com/back/web7_9_codecrete_be/domain/users/entity 23.08% 12 40
com/back/web7_9_codecrete_be/domain/plans/entity 24.14% 21 66
com/back/web7_9_codecrete_be/global/security 27.62% 29 76
com/back/web7_9_codecrete_be/global/spotify 35.71% 5 9
com/back/web7_9_codecrete_be/domain/location/service 64.44% 58 32
com/back/web7_9_codecrete_be/global/doc 100.00% 17 0
Lowest Covered Classes (Top 20)
Class Line % Covered Missed
com.back.web7_9_codecrete_be.domain.plans.service.PlanService 0.00% 0 311
com.back.web7_9_codecrete_be.domain.artists.service.ArtistService 0.00% 0 78
com.back.web7_9_codecrete_be.domain.auth.service.AuthService 0.00% 0 73
com.back.web7_9_codecrete_be.global.initData.BaseInitData 0.00% 0 51
com.back.web7_9_codecrete_be.domain.plans.controller.PlanController 0.00% 0 43
com.back.web7_9_codecrete_be.domain.concerts.entity.Concert 0.00% 0 40
com.back.web7_9_codecrete_be.domain.plans.entity.Schedule 0.00% 0 37
com.back.web7_9_codecrete_be.global.security.JwtTokenProvider 0.00% 0 37
com.back.web7_9_codecrete_be.domain.users.entity.User 0.00% 0 31
com.back.web7_9_codecrete_be.domain.artists.entity.Artist 0.00% 0 31
com.back.web7_9_codecrete_be.domain.location.service.LocationService 0.00% 0 30
com.back.web7_9_codecrete_be.domain.concerts.entity.ConcertPlace 0.00% 0 29
com.back.web7_9_codecrete_be.domain.chats.service.ChatPolicyService 0.00% 0 27
com.back.web7_9_codecrete_be.domain.auth.service.TokenService 0.00% 0 27
com.back.web7_9_codecrete_be.domain.artists.controller.ArtistsController 0.00% 0 27
com.back.web7_9_codecrete_be.domain.users.controller.UserController 0.00% 0 26
com.back.web7_9_codecrete_be.domain.auth.controller.AuthController 0.00% 0 24
com.back.web7_9_codecrete_be.global.storage.S3FileStorageService 0.00% 0 23
com.back.web7_9_codecrete_be.domain.plans.entity.Plan 0.00% 0 18
com.back.web7_9_codecrete_be.domain.auth.service.GoogleOAuthService 0.00% 0 18
Changed Classes (from this PR)
Source (PR) Class Prefix Line % Covered Missed
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/controller/ConcertAdminController.java com.back.web7_9_codecrete_be.domain.concerts.controller.ConcertAdminController 0.00% 0 15
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/dto/concert/ConcertDetailResponse.java com.back.web7_9_codecrete_be.domain.concerts.dto.concert.ConcertDetailResponse 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/dto/concert/ConcertItem.java com.back.web7_9_codecrete_be.domain.concerts.dto.concert.ConcertItem 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/repository/ConcertRedisRepository.java com.back.web7_9_codecrete_be.domain.concerts.repository.ConcertRedisRepository 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/repository/ConcertRepository.java com.back.web7_9_codecrete_be.domain.concerts.repository.ConcertRepository 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/service/ConcertService.java com.back.web7_9_codecrete_be.domain.concerts.service.ConcertService 1.25% 1 79
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/service/KopisApiService.java com.back.web7_9_codecrete_be.domain.concerts.service.KopisApiService 5.03% 15 283
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/controller/ConcertController.java com.back.web7_9_codecrete_be.domain.concerts.controller.ConcertController 6.25% 1 15

🔗 Full HTML report: See artifact jacoco-full-html on this run → https://github.com/prgrms-web-devcourse-final-project/WEB7_9_codecrete_BE/actions/runs/20420601881

}

// 해당 접두어의 모든 항목 삭제
private void deleteAllItemsByPREFIX(String prefix) {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

가져온 prefix 기반으로 삭제하는게 아닌 concertlist prefix만 삭제하게 되는 것 같습니다!

Copy link
Copy Markdown
Collaborator

@heygeeji heygeeji left a comment

Choose a reason for hiding this comment

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

수고하셨습니다!

@Creamcheesepie Creamcheesepie merged commit 5474ab7 into main Dec 23, 2025
2 checks passed
@Creamcheesepie Creamcheesepie deleted the feat/#127 branch December 23, 2025 01:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Concert] 공연 목록 조회 캐싱

3 participants