LabHub

Redis 와 캐싱 · 캐시가 왜 어려운가 · 퀴즈

퀴즈: 캐시의 어려움

LabHub 에서 이어서 보기

문항 5개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 캐시 전략이 본질적으로 줄타기인 두 값은?

    1. 메모리와 CPU
    2. 읽기와 쓰기
    3. 스테일과 미스
    4. 가용성과 일관성
  2. TTL 방식 무효화가 잘 맞는 데이터는?

    1. 계좌 잔액
    2. 인기 게시물 목록
    3. 결제 상태
    4. 재고 수량
  3. 버전 키(versioned key) 방식의 가장 큰 장점은?

    1. 옛 키가 즉시 사라져 메모리를 아낀다
    2. 삭제를 직접 하지 않아도 되고 무효화-재조회 경쟁 조건에 강하다
    3. 키가 매번 달라져 TTL 이 필요 없다
    4. 쓰기 순서가 정해져 분산 락이 필요 없다
  4. cache-aside 에서 쓰기 시 캐시를 갱신하지 않고 삭제하는 이유는?

    1. DEL 이 SET 보다 항상 저렴한 연산이기 때문에
    2. 캐시 메모리 사용량을 즉시 0으로 만들기 때문에
    3. 동시 쓰기에서 직접 갱신보다 옛 값이 고정되는 경합 창을 줄이고, 다음 미스가 원본을 다시 읽게 하기 때문
    4. 삭제하는 순간 모든 키에 새 TTL 이 설정되기 때문에
  5. 무효화가 어려운 근본 이유로 옳지 않은 것은?

    1. 캐시가 여러 서버·계층에 분산돼 원자적 무효화가 분산 합의 문제가 된다
    2. 무효화와 재조회가 엇갈려 지운 값이 되살아날 수 있다
    3. 하나의 원본이 여러 캐시 항목에 흩어져 의존성을 다 파악하기 어렵다
    4. Redis 가 무효화 명령을 제공하지 않는다