Cache Penetration (1) 썸네일형 리스트형 [Redis] Cache Penetration: 존재하지 않는 데이터에 대한 요청이 캐시를 뚫고 DB를 때린다면 Cache Penetration이란? Cache Penetration은 존재하지 않는 데이터에 대한 요청이 캐시를 무력화시키는 현상이다.일반적인 캐시 조회 흐름을 먼저 살펴보자.이 흐름은 데이터가 존재하는 경우에는 잘 동작한다. Cache Miss가 발생해도 DB에서 조회한 결과를 캐시에 저장하므로, 이후 동일한 요청은 캐시에서 처리된다.그런데 존재하지 않는 데이터를 요청하면 어떻게 될까?DB 조회 결과가 null이면 캐시에 저장할 값이 없다. 따라서 같은 요청이 반복될 때마다 매번 캐시를 통과해서 DB에 직접 도달한다. 이것이 Cache Penetration이다.왜 위험한가?단순히 한두 건의 요청이라면 큰 문제가 아니다. 하지만 다음과 같은 상황을 생각해보자.악의적인 사용자가 존재하지 않는 ID를 랜덤.. 이전 1 다음