1. Redis 소개
- 인메모리 데이터 구조
- 오픈 소스(BSD 3 License)
- 지원하는 데이터 구조
- Strings(key-value), set, sorted-set, hashes, list
- Hyperloglog, bitmap, geospatial index, Stream
- Only 1 Committer
1.1. Redis 소개 전 Cache
Cache란 나중에 요청된 결과를 미리 저장했다가 빠르게 서비스 해주는 것을 의미.
캐시는 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다.
추상적인 웹서비스 구조
<aside>
⚠️ Client → Web Server → DB
</aside>
DB도 쿼리 결과를 내부적인 캐시에 담고 있지만, 메모리 사이즈보다 크면 디스크에 저장하게 된다.
여러 가지를 계속 접근하다 보면 기존 캐시를 비우고 디스크에서 새로 가져온다. (속도 저하)
1.2. 캐시 구조 #1 - Look aside Cache

일반적으로 많이 쓰는 패턴
- Web Server에서 데이터가 존재하는지 Cache에서 먼저 확인
- Cache에 데이터가 있으면 캐시에서 조회
- Cache에 없으면 DB에서 데이터를 읽고
- Cache에 저장
1.3. 캐시 구조 #2 - Write Back
