Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

이제 Redis를 멈춰보겠습니다: @CacheEvict 파헤치기

우아한형제들 favicon우아한형제들·Backend·
RedisSpring BootJavaSpring Data RedisCache Eviction
2025년 11월 04일13

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

우아한형제들이 운영 Redis 캐시의 allEntries 제거가 KEYS/SCAN의 차단으로 서비스 대기와 타임아웃 위험을 초래할 수 있음을 분석하고, 안전한 운영 방안과 주의점을 정리했습니다.

주요 경험

  • CacheEvict의 allEntries가 cache-wide 제거를 트리거하며, KEYS/SCAN 선택에 따라 차단 여부가 달라짐을 확인
  • 대규모 캐시 제거는 운영 환경에서 배치 로직으로 분리하고 Scan 기반으로 구성하는 사례를 제시
  • Locking RedisCacheWriter와 Non-locking RedisCacheWriter의 차이 및 운영 시점의 고의적 차단 방지 필요성 강조

얻은 인사이트

  • 전체 키 제거는 피하고, 필요 시 배치 로직으로 처리하는 것이 현명
  • 고위험 명령 차단 정책의 영향과 예외 처리의 중요성 인식
  • UNLINK/ Lazy freeing 관련 옵션 활용 검토 및 기본 설정 변경 시 SCAN 사용 여부 고려

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
No Image
77%

Redis New Connection 증가 이슈 돌아보기

우아한형제들 favicon우아한형제들·2025년 10월 14일
No Image
75%

Spring Cache(@Cacheable) + Spring Data Redis 사용 시 record 직렬화 오류 원인과 해결

우아한형제들 favicon우아한형제들·2025년 08월 19일
무형상품 서비스에 캐시 적용하기 섬네일
69%

무형상품 서비스에 캐시 적용하기

올리브영 favicon올리브영·2022년 12월 08일