컴퓨팅에서 자주 사용되는 데이터나 값을 빠르게 접근하기 위해 임시로 저장하는 공간을 의미
Redis는 이미 cache로 많이 사용되고 있다.
Cache Hit | Cache Miss |
---|---|
캐시에 데이터가 존재 O | 캐시에 데이터 존재 X |
바로 데이터 반환 | DB에 접근하여 데이터 반환 |
1. Look-Aside (Lazy Loading)
1. 데이터를 찾기 위해 Redis에 접근.
2. Redis(Cache)에 데이터가 없다면, DB에 접근해서 데이터를 가져온다.
3. Redis(Cache)에 해당 데이터를 저장한다.
2. Read Through
1. Redis(Cache)에 데이터를 요청한다.
2. Redis(Cache)에 데이터가 없다면 DB에 요청에서 값을 저장 후 반환
-Redis(Cache)가 죽는다면, 서버에 장애 발생.
만약, 캐시를 새롭게 투입했거나, DB에 새로운 데이터가 추가되었다면? 계속 위의 과정이 반복되며 Redis에 데이터가 추가 되어야 하는가?
-> Cache Warming
미리 DB에서 Cache에 데이터를 넣어줌.
1. Write Around
2. Write Through