반응형
❓ 캐시(Cache)란?
- 원본 저장소보다 빠르게 가져올 수 있는 임시 데이터 저장소
* Redis에서만 쓰이는 용어는 아니며, 전반적인 개발 분야에서 통용되는 개념이다.
- 인터넷 사용 기록을 삭제할 때, '캐시된 이미지 및 파일'이라는 항목을 볼 수 있는데, 여기서 말하는 캐시가 이 캐시(Cache)다. 이는 임시로 이미지나 파일을 저장했다는 의미이다.
✔️ 캐싱(Caching)이란?
- 캐시(Cache, 임시 데이터 저장소)에 접근해서 데이터를 빠르게 가져오는 방식
- 실무에서 캐싱(Caching)을 사용할 때는 보통 이런 표현을 쓴다.
: "이 API 응답 속도가 너무 느린데? 이 응답 데이터는 캐싱(Caching) 해두고 쓰는 게 어때?"
→ 이 말은, 'API 응답 결과를 원본 저장소보다 빠르게 가져올 수 있는 임시 데이터 저장소에 저장해두고, 빠르게 조회할 수 있게 만드는 게 어때?' 라는 의미로 해석할 수 있다.
📌 데이터를 캐싱할 때 사용하는 주요 전략 2가지
1. Cache Aside 전략
데이터를 조회할 때 주로 사용하는 전략.
캐시(Cache)에서 데이터를 확인하고, 없다면 DB를 통해 조회해오는 방식으로,
Look Aside 또는 Lazy Loading 전략이라고도 부른다.
- 캐시에 데이터가 있을 경우 (=Cache Hit)
- 클라이언트가 레디스에 데이터를 요청한다.
- 레디스에서 클라이언트로 요청한 데이터를 응답한다.
- 캐시에 데이터가 없을 경우 (=Cache Miss)
- 클라이언트가 레디스에 데이터를 요청한다.
- 레디스에 데이터가 없기 때문에, 클라이언트가 데이터베이스에 데이터를 요청한다.
- 데이터베이스에서 클라이언트로 요청한 데이터를 응답한다.
- 클라이언트가 응답받은 데이터를 캐시(레디스)에 저장한다.
2. Write Around 전략
쓰기 작업(저장, 수정, 삭제)을 캐시에는 반영하지 않고, DB에만 반영하는 방식
Cache Aside 전략과 같이 자주 활용되는 전략이다.
매우 간단함!
- 데이터를 저장할 때는 레디스에 저장하지 않고, 데이터베이스에만 저장한다.
이후 데이터를 조회할 때, 레디스에 데이터가 없으면 데이터베이스로부터 데이터를 조회해와서 레디스에 저장하는 방식이다.
✅ 두 전략의 차이
- Cache Aside는 읽기 성능을 개선하기 위한 전략이고,
Write Around는 쓰기 성능을 고려해 캐시가 쓰기 작업에 부담을 받지 않도록 하는 전략이다.
- Cache Aside는 주로 읽기 중심의 시나리오에 적합하고, Write Around는 쓰기 작업이 빈번하지 않고 읽기 작업이 많은 경우에 적합한 전략이다.
Reference
< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >
🔗 velog 버전 보기 : https://velog.io/@ryuneng2/Redis-캐시Cache-캐싱Caching이란
'DevOps > Redis' 카테고리의 다른 글
[Redis] @Cacheable을 이용한 Cache Aside 전략 (0) | 2025.01.25 |
---|---|
[Redis] Docker 기반의 Redis 세팅 및 IntelliJ에서 Redis DB에 접속해 저장된 데이터 확인하는 방법 (0) | 2025.01.25 |
[Redis] 레디스(Redis) 기본 명령어 (0) | 2025.01.25 |
[Redis] Windows11 레디스(Redis) 설치하는 방법 (0) | 2025.01.24 |
[Redis] 레디스(Redis)란? (0) | 2025.01.24 |