1.4 KiB
1.4 KiB
라이브 추천 차단 JOIN 및 캐시 무효화
LiveRecommendService.getRecommendLive의 차단 필터 처리 구조 점검LiveRecommendRepository.getRecommendLive를 DB 조회 시 차단 관계를 JOIN/조건으로 제외하도록 변경- 차단(
memberBlock) 및 차단 해제(memberUnBlock) 시 추천 라이브 캐시가 즉시 반영되도록 무효화 처리 - 변경 코드 정적 진단 및 테스트/빌드 검증
- 검증 기록 작성
검증 기록
1차 구현
- 무엇을:
getRecommendLive의 차단 제외 로직을 서비스 단 필터링에서 QueryDSLleftJoin(blockMember)+blockMember.id.isNull조건으로 이동했고, 차단/차단해제 시CacheManager로getRecommendLive:{memberId}키를 직접 evict 하도록 적용했다. - 왜: 기존 방식은 추천 결과 조회 후 creator마다
isBlocked를 반복 호출해 후처리하고, 캐시 만료 전까지 차단/해제 결과가 반영되지 않는 문제가 있어 DB 레벨 필터링과 이벤트성 캐시 무효화가 필요했다. - 어떻게:
lsp_diagnostics(대상:LiveRecommendRepository.kt,LiveRecommendService.kt,MemberService.kt) 실행 결과: 환경상 Kotlin LSP 미구성으로 진단 불가./gradlew test실행 결과: 성공 (BUILD SUCCESSFUL)./gradlew build실행 결과: 성공 (BUILD SUCCESSFUL, ktlint/check 포함)