이제 Redis를 멈춰보겠습니다: @CacheEvict 파헤치기
백엔드
이제 Redis를 멈춰보겠습니다: @CacheEvict 파헤치기
두줄요약
`@CacheEvict(allEntries = true)`가 내부적으로 어떻게 동작하는지 Spring Cache와 Redis 구현 레벨에서 살펴보았습니다. 기본 `KEYS` 전략이 운영 환경에서 위험할 수 있어 대안도 함께 정리했습니다.
핵심 내용
@CacheEvict(allEntries = true)가 내부적으로cacheWide로 변환되어 캐시 전체 삭제 경로를 타는 구조- Spring Cache 추상화에서
clear()가 RedisCache의clean()으로 이어지고, 기본 배치 전략은KEYS기반 전체 조회 후 삭제 KEYS와DEL이 운영 환경에서 Redis 지연과 블로킹을 유발할 수 있어SCAN또는UNLINK계열 대응이 필요
