레디스 노드 로그를 분석하다가 RDB와 AOF라는 메모리 관리 방식에 대해 알게 되어 궁금증이 생겨 찾아보게 되었습니다.
데이터의 영속성을 위한 두 가지 방식입니다.
RDB(Redis DataBase)
- 스냅샷과 비슷한 역할을 합니다.
- 특정 시점의 메모리 데이터를 전부 바이너리 파일로 저장합니다.
- AOF 파일보다 사이즈가 작아 로딩이 빠릅니다.
- 저장 방법은 redis.conf의 save로 설정합니다. save 10 1: 10초간 1번 이상 변경 시 저장 여러 개도 지정해 하나라도 만족하면 수행합니다.
- 메모리를 많이 사용합니다.
- 대규모 데이터에 적합합니다.
AOF(Append Only File)
- appendonly.aof에 저장됩니다.
- INSERT,UPDATE,DELETE 명령 수행 시마다 기록됩니다.
- append 방식으로 추가되며 기록됩니다. 특정 시점에 데이터 전체를 다시 쓸 수 있습니다.
- 계속 추가하기 때문에 파일 사이즈가 무한정으로 커질 수 있습니다. 사이즈가 너무 커지면 rewrite 기능으로 최종 데이터만 기록합니다.
- text 파일이므로 사용자가 직접 수정해 손실없이 복구할 수 있다.
- redis.conf에서 appendonly로 설정 가능
- DB 복구는 AOF가 우선순위에 앞서 있습니다.
'언어 & 라이브러리 > 레디스' 카테고리의 다른 글
[레디스] 캐싱 전략에 대해 알아보자 (0) | 2022.07.06 |
---|---|
[레디스] 레디스 클러스터를 도커에서 구성해보자 (0) | 2022.03.17 |
[레디스] 레디스 Master-Slave를 도커에 올려보자 (0) | 2022.03.17 |
[레디스] 레디스에 대해 알아보자 (0) | 2022.03.17 |
댓글