<aside>
✅ 백업
인메모리에 들어있는 레디스의 데이터를 디스크에 저장함으로서
휘발성인 레디스 데이터가 복구/유지될 수 있도록 하는 것
→ persistence를 제공
</aside>
RDB(Redis Database)를 사용한 백업
- 특정 시점의 스냅샷으로 데이터 저장
- 재시작 시 RDB 파일이 있으면 읽어서 복구
장점
- 작은 파일 사이즈로 백업 파일 관리가 용이 (원격지 백업, 버전 관리 등)
- fork를 이용해 백업하므로 서비스 중인 프로세스는 성능에 영향 없음
- 데이터 스냅샷 방식이므로 빠른 복구가 가능
단점
- 스냅샷을 저장하는 시점 사이의 데이터 변경사항은 유실될 수 있음
- fork를 이용하기 때문에 시간이 오래 걸릴 수 있고, CPU와 메모리 자원을 많이 소모
- 데이터 무결성이나 정합성에 대한 요구가 크지 않은 경우 사용 가능
(마지막 백업 시 에러가 발생했다면, 데이터가 유실되거나 오염된 데이터가 백업될 수 있음)
레디스 컨테이너를 마운트
docker run -v $(pwd)/my/redis.conf:/redis.conf --name my-redis redis redis-server /redis.conf
# You can set these explicitly by uncommenting the following line.
#
# save 3600 1 300 100 60 10000
save 60 10