LabHub

Redis 와 캐싱 · 캐시 패턴(look-aside·write-through) · 퀴즈

퀴즈: 캐시 패턴과 스탬피드

LabHub 에서 이어서 보기

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

  1. cache-aside 에서 쓰기 시 캐시를 삭제하는 이유는?

    1. 삭제가 갱신보다 빠른 연산이라서
    2. 값을 지워 캐시 메모리를 아낄 수 있어서
    3. 어차피 TTL 이 값을 정리해 주기 때문
    4. 두 쓰기가 엇갈릴 때 갱신은 옛 값을 남길 수 있지만 삭제는 그렇지 않아서
  2. write-behind 를 쓸 수 있는 조건은?

    1. 쓰기보다 읽기가 훨씬 많을 때
    2. 한 건의 데이터 크기가 작을 때
    3. TTL 을 길게 잡아 둘 수 있을 때
    4. 유실을 감당할 수 있거나 별도의 내구성 장치가 있을 때
  3. 캐시 스탬피드에서 '인기 있는 키일수록 위험하다'는 역설의 이유는?

    1. 자주 읽히는 값일수록 만료 순간의 동시 미스 수가 크기 때문
    2. 인기 있는 값일수록 크기가 커서
    3. 인기 있는 키에 짧은 TTL 을 주게 되어서
    4. 인기 있는 키가 메모리를 많이 차지해서
  4. 분산 잠금에서 소유권 토큰이 없으면 생기는 문제는?

    1. 잠금 확인이 늘어 성능이 떨어진다
    2. 해제되지 않은 잠금 키가 쌓여 메모리가 샌다
    3. 늦게 깨어난 원래 소유자가 남의 잠금을 해제해 상호 배제가 깨진다
    4. 만료 시각을 알 수 없어 TTL 이 무의미해진다
  5. stale-while-revalidate 가 잠금 방식보다 나은 점은?

    1. 원본 호출 횟수가 0 으로 줄어든다
    2. 대기자가 기다리지 않고 즉시 (조금 낡은) 값을 받는다
    3. 옛 값을 지워 메모리를 덜 쓴다
    4. 잠금 코드가 없어 구현이 쉽다
  6. 실무에서 스탬피드 방어책을 하나만 고르지 않고 조합하는 이유는?

    1. 세 기법이 스탬피드의 서로 다른 국면을 각각 해결하기 때문
    2. 캐시 규격이 세 가지를 함께 쓰도록 정해서
    3. 겹쳐 쓸수록 캐시 적중률이 올라가서
    4. 하나만 쓰면 라이선스 비용이 더 들어서