Redis AOF 란
레디스는 데이터를 메모리에 저장합니다.
레디스가 내려가면 메모리 상에 있던 데이터는 모두 유실됩니다.
이 유실을 방지하기 위해 AOF 기능을 제공하고 있습니다.
AOF 는 Append Only File의 약자로, 적재, 수정, 삭제 명령이 실행될 때마다 파일에 기록되며 수정이 가능합니다.
AOF 는 파라미터에 따라 '명령어가 수행될 때마다; 1초마다; OS 에서 알아서' 방식으로 디스크에 쓰여집니다.
Redis AOF 저장 방식
수정 명령이 실행되는 경우 레디스는 메모리에 있는 데이터 자체를 변경시킵니다.
그러나 AOF 에 저장될 때는 명령어를 파일 끝에 기록만 합니다.
Append 명령어를 사용해서 데이터를 수정해 보도록 하겠습니다.
( Append 는 기존에 있는 키 값에 문자열을 덧붙이거나, 키가 없으면 데이터를 저장하는 명령어 입니다. )
메모리 상의 데이터 조회
메모리 상에서 데이터를 조회하게 되면 이전의 값은 없어지고, 수정한 값을 얻을 수 있습니다.
1 2 3 4 5 6 7 8 | 127.0.0.1:6379> set test 'Apple' OK 127.0.0.1:6379> get test "Apple" 127.0.0.1:6379> append test 'Banana' (integer) 11 127.0.0.1:6379> get test "AppleBanana" | cs |
AOF 파일의 데이터 조회
그러나 AOF 파일을 확인하게 되면 아래와 같이 수행한 모든 명령어가 저장되어 있습니다.
Line 1 : 모든 명령어 기록은 항상 * 로 시작됩니다. * 는 명령의 시작을 나타내고, * 다음 숫자는 명령을 구성하고 있는 단어 개수를 나타냅니다. 'set key value' 세 개의 단어로 구성되어 있습니다.
Line 2 : $ 는 요소를 나타내며, $ 뒤 숫자는 요소의 글자 수를 나타냅니다.
Line 3 : 명령 자체가 기록되어 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | *3 $3 set $4 test $5 Apple *3 $6 append $4 test $6 Banana | cs |
'Database > Redis' 카테고리의 다른 글
[Redis] 복제 Replication 이중화 방법, 위험성, 이중화정보 확인 방법 (0) | 2020.03.08 |
---|---|
[Redis] RDB 방식의 백업 (0) | 2020.03.05 |
[Redis] AOF 방식의 백업 (0) | 2020.03.04 |
[Redis] redis.conf 의 파라미터 의미 파악하기 (0) | 2020.03.02 |
[Redis] 통계정보 확인 및 내용 파악하기 (0) | 2020.03.02 |