카테고리 없음

[Spring] Spring에 Redis Cache 적용해보기 전, Redis Cache에 대해 알아보기~

데브승찬 2025. 9. 23. 13:55

캐시(cache)란? 

사용자의 입장에서 더 빠르고 효율적으로 엑세스 할 수 있는 임시 저장소를 뜻한다.

보통 속도 향상을 위해 캐시를 사용한다.


캐시 사용 방안?

  • 먼저 캐시 저장소에 접근하는 속도가 운영하고 있는 DB에 접근하는 속도보다 빨라야 된다.
  • 같은 데이터에 중복적으로 엑세스 하는 경우가 많을 때 사용하기 좋다. -> 데이터 재사용 횟수가 한번 이상일때 사용이유가 있음.
  • 자주 변하지 않는 경우 사용하기 효율 적이다.

캐시를 레디스를 사용하는 이유.

  • 사용이 간편 하다는 장점이 있다(NoSQL) - 다양한 구조를 지원함
  • 무엇보다 가장 큰 특징은 빠르다! (In-Memory) 
  • 스프링에서 레디스 라이브러를 지원해준다.

캐싱 전략?

레디스를 캐시로 사용할때 레디스를 어떻게 배치 하느냐에 따라 시스템 전체에 영향을 준다.

그래서 이 부분에 대한 전략을 세워야되는데 이걸 캐싱 전략이라고 한다.

 

캐싱 전략은 읽기전략, 쓰기 전략으로 나뉜다.

 

간단히 알아보도록 하자..


읽기 전략?

Look Aside 전략 : 

  • 데이터를 읽는 작업이 많을 때 사용하는 전략이다.
  • Lazy 로딩 읽기 전략으로 사용하는 전략이다, 레디스를 먼저 확인하고, 있으면 조회하고 없으면 디비를 조회한 후 레디스에 저장한다.
  1. 캐시에 데이터가 있는지 확인
  2. 데이터가 캐싱 되어있으면 클라이언트로 바로 전송한다. -> (cache hit)
  3. 캐싱이 되어있지 않다면 서버는 디비에 데이터를 가져오기 위해 쿼리를 보내고 클라이언트에 응답한다, 이후 그 데이터를 캐시에 저장함 -> (cache miss)
  4. 이후부터는 동일한 요청은 캐시로 데이터 전송가능함

 

쓰기 전략?

Write Through 전략 : 

디비와 캐시에 데이터를 동시에 저장하는 전략이다

  1. 저장할 데이터를 먼저 캐시에 저장한다.
  2. 캐시에서 디비로 저장한다.

데이터를 저장할때 두 단계를 거쳐야하기 때문에 상대적으로 느리다.

 

Write Around 전략 : 

모든 데이터를 디비에 자장하는 전략이다.

  1. 모든 데이터를 디비에 저장한다. 캐시 갱신 X

 


간단하게 Redis Cache에 대해 알아보았으니 적용하여 성능개선을 해보겠다.