Skip to content

[Feature] 기능 개발 - Redis 캐싱 #305

Description

@codesche

기능 추가/수정

설명

MoodBook 프로젝트 Redis 캐싱 적용

캐싱 도입 전 캐싱 적용 가능한 데이터 확인

A. 고정/느리게 변하는 데이터 (Aggressive)
대상: 트렌딩/랭킹, 감정 기반 Top-N 추천, 책 상세
특성: 조회 많고, 쓰기 적음. 사용자별(memberId) 영향이 “적거나 없음”.
전략: TTL 10~30분, 캐시 키는 파라미터 기반.

단, 응답이 memberId에 의존하면 키에 memberId 포함(정보 누출 방지).

B. 사용자 맞춤/자주 변하는 데이터 (Conservative)
대상: 최근 본 책(RecentBookView), 개인화 추천(페이지네이션 포함)
특성: 사용자 상태에 따라 빈번 변동.
전략: TTL 1~5분, 키에 memberId + 페이지 식별자 포함.

C. 무효화(Invalidate)
대상: 관리자 도서 수정/등록, 평판/리뷰 등 랭킹에 영향을 주는 쓰기
전략: 시간 기반 TTL 우선, 가능하면 관리자 쓰기 시 관련 캐시 그룹 @CacheEvict(allEntries=true) 병행.

🗒 체크리스트

  • 🔥 도서 상세
  • 🔥 감정별 책 Top10
  • 🔥 감정별 책 조회 (페이지네이션)
  • 🔥 인기있는 책 조회

참고자료

Metadata

Metadata

Assignees

Labels

⚙️ Setting환경 설정(개발 환경 세팅)✨ Feature기능 개발(기능 추가 및 수정)

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions