AOF
모든 쓰기 요청에 대한 로그를 저장
재시작 시 AOF에 기록된 모든 동작을 재수행해서 데이터를 복구

장점
모든 변경사항이 기록되므로 RDB 방식 대비 안정적으로 데이터 백업 가능
append-only 방식으로 백업 파일이 손상될 위험이 적음
실제 수행된 명령어가 저장되어 있으므로 사람이 보고 이해할 수 있고 수정도 가능
단점
RDB 방식보다 파일 사이즈가 커짐
RDB 방식 대비 백업&복구 속도가 느림(백업 성능은 fsync 정책에 따라 조절 가능)
fstnc 정책
fstnc() 호출은 os에게 데이터를 디스크에 쓰도록 함
옵션 및 설정
alsways: 새로운 커맨드가 추가될 때마다 수행. 가장 안전하지만 가장 느림
eveysec: 1초마다 수행. 성능은 RDB 수준에 근접
no: OS에 맡김. 가장 빠르지만 . 덜안전한 방법(커널마다 수행시간이 다를 수 있음)

AOF관련 개념
Log rewriting: 최종 상태를 만들기 위한 최소한의 로그만 남기기 위해 일부로 새로 씀
(1개의 key를 100번 수정해도 최종 상태는 1개이므로 set 1개로 대체 가능)
7.0부터 AOF가 단일 파일로 저장되지 않음
base fie: 마지막 rewirte 스냅샷을 저장
incremental file: 마지막으로 base file이 생성된 이후의 변경사항이 쌓임
manifast file: 파일들을 관리하기 위한 메타 데이터를 저장
실행
도커 컨테아너 실행
docker run -v $(pwd)/redis.conf:/redis.conf --name my-redis-aof redis redis-server /redis.conf
redis.conf 파일의 save ""설정
내가 로컬에서 설정을 진행했을 때에는 save를 ""로 해주지 않으면 AOF가 정상 작동되지 않았다.
incremental file 확인
