기능 추가/수정
설명
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) 병행.
🗒 체크리스트
참고자료
기능 추가/수정
설명
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) 병행.
🗒 체크리스트
참고자료