DBMS/Redis

[Redis] 데이터 캐싱 전략(Cache Aside, Write Around)

멋쟁휘개발자 2024. 11. 3. 17:04

Cache Aside (= Look Aside, Lazy Loading) 전략

  • 데이터를 조회할 때 주로 사용
  • 레디스에서 먼저 조회하고, 없으면 데이터베이스에서 조회하고 & 레디스에 저장하는 전략
    • 캐시에 데이터가 있을 경우(= Cache Hit)
    • 캐시에 데이터가 없을 경우 (= Cache Miss)

 

▼ 게시판 서비스를 예제로 Cache Aside 작동 방식을 이해하기

더보기
  1. 처음 게시판 서비스를 배포했기 때문에 데이터베이스와 레디스에는 아무런 데이터도 저장이 안 되어 있음
  2. 신규 게시글 작성으로 데이터 저장
    • 데이터베이스에 저장(레디스 저장 x)
  3. 사용자가 데이터를 조회하려고 요청
    • 이 때, 레디스부터 조회
      • 레디스에 데이터가 없다면(= Cache Miss), 데이터베이스에서 데이터 조회해서 응답
      • 데이터베이스로부터 조회한 데이터를 응답한 뒤에 레디스에도 데이터를 저장
  4. 다시 한 번 사용자가 데이터를 조회하려고 요청
    • 이 때, 레디스부터 조회
      • 레디스에 데이터가 있으면(= Cache Hit), 바로 응답

 

Write Around 전략

  • 데이터를 쓰기 작업(저장, 수정, 삭제)에 대한 전략
  • 쓰기 작업 시에 DB에만 반영하는 방식(캐시에 저장 x)

 

  • 그러다 데이터를 조회할 때 레디스에 데이터가 없으면 데이터베이스로부터 데이터를 조회해와서 레디스에 저장시켜주는 방식이다.  --> 헷갈리는 문장이다...