두 가지 방법으로 레디 스 지속성
- RDB
RDB는 진 패션 디스크에 지속에 레디 스 기본 지속성 지속적인 방법은, 모든 너무 자주 메모리에 데이터를 의미합니다. 레디 스 프로필보기 redis.windows.conf
# 디스크에 DB를 저장 : #의 # 저장 <초> <변경> #의 DB를 저장합니다 # 경우 초 지정된 수 주어진 두 DB를에 대한 쓰기 작업의 # 번호가 발생했습니다. #의 동작은 아래의 예에서는 # 1 저장 될 것이다 : #이 후 900 초 ( 15 분) 하는 경우 , 적어도 1 키 변경 후 #을 300 초 ( 5 분) 경우 적어도 10 키 변경 후 중 # 60 초의 경우 적어도 10000키는 변경 #의 # 참고 : 당신은 주석에 의해 완전히 절약 해제 할 수 있습니다 밖으로 모든 " 저장 " 라인. # # 이다 모든 이전에 구성된 저장 제거하는 것도 가능 하나 빈으로 저장 지시어를 추가하여 # 점을 문자열 인수 와 같은 # 에서 다음 예제 : #의 # 저장 "" 저장 900 일 저장 (300) (10)를 저장 60 만
기본적으로 세 가지 방법으로 명령을 저장합니다
모든 900을, 적어도 하나의 키 변경 : 900 일 저장
모든 300S를, 적어도 10 키 변경 : (300) (10)를 저장
모든 60, 적어도 10,000 키 변경 : 60 만 저장
이 세 가지 각 호의 어느 하나에 해당하는 경우 하나, 레디 스 영구됩니다 만나 아래의 기본 경로에 .rdb 파일을 생성
# 파일 이름 DB를 덤프 dump.rdb dbfilename을 # 작업 디렉토리. # 설명 # DB는 내부에 기록됩니다 이 파일 이름 지정과 디렉토리 위 # 사용 ' dbfilename ' 구성 지시를. # # 추가] 만 파일도 내부에 생성됩니다 이 디렉토리. #의 여기 디렉토리를 지정해야합니다 #주의가 아닌 파일 이름을 지정합니다. DIR. / rdbfile
레디 스의 기본 모드 외에, 그것은 또한 수동으로 저장 bgsave 명령 클라이언트를 수행 할 수 있습니다
저장 : 서비스가 차단 레디 스, 완료 될 때까지 지속 될 때까지 다른 클라이언트의 요청에 응답 할 수 없습니다.
bgsave : 그 배경 저장, 레디 스 영구 데이터의 작업을 완료하기 위해 자식 프로세스를 포크 것입니다. 레디 스는 차단 서비스에 영향을 미치지 않습니다
자동 .rdb 데이터 파일로 작업을 다시 할 때 레디 스를 다시 시작합니다.
2.AOF
AOF는 삭제 작업, 레디 스 파일을 기록하는 방식으로 작성하는 중 (동작을 아닌 데이터), 쿼리는 기록되지 않습니다. 파일은 예를 들어, 기록의 상세한 동작에서 알 수있는
* 2 $ (6) SELECT $ (1) 0 * 3 $ 3 SET $ 1 ? $ 1 1
기본적으로, 기능의 AOF 전원이 꺼져 파일 .aof 경로가 구성 파일에 지정 될 수 있습니다
# # 추가] 만 파일 입니다 제공하는 다른 지속성 모드 #에게 훨씬 더 내구성. 예를 들어 사용 기본 데이터 fsync를 정책 #을 (나중에 참조 에서 레디 스이 쓰기의 한 초를 잃을 수있는 설정 파일) 에 # 극적인 이벤트 서버 정전, 또는 단일 쓰기와 같은 경우에는 뭔가 레디 스 프로세스에 문제 # 자체가 발생 그러나 운영 체제 입니다 여전히 제대로 실행 #은. # #의 AOF 및 RDB 지속성은 문제없이 동시에 사용할 수 있습니다. # AOF는 경우 입니다AOF를로드 시작 레디 스 활성화, 그것은 이다 파일 더 나은 내구성을 보장과 함께 #. # : # HTTP 확인하시기 바랍니다 // 자세한 내용은 redis.io/topics/persistence합니다. appendonly 더 #은 APPEND의 이름은 (파일이 없습니다 기본 : " appendonly.aof " ) appendfilename " appendonly.aof을 "
AOF 지속성 속성을 appendfsync 구성 할 수 있습니다 :
appendfsync 더 : 운영 체제, 빠른 지속 할 때 결정하지
appendfsync는 항상 각 쓰기 작업 후, 지속성, 높은 보안, 속도가 상대적으로 느린
appendfsync everysec : 위의 두 가지 방법, 타협 효율에 비해 기본 구성, 매초마다 지속성,
중 # fsync를 () 호출은 실제로 디스크에 데이터를 쓸 수있는 운영 체제 알려줍니다 # 대신 대기 에 대한 더 많은 데이터 의 출력 버퍼를. 일부 OS 정말 플러시됩니다 디스크 # 데이터는 다른 OS는 것이다 시도 할 할 ASAP를. # : # 레디 스 세 가지 모드를 지원하지 않습니다 #의 돈 : #에는 ' 그냥 원할 때 OS가 데이터를 플러시하자 t의 fsync를합니다. 빠른. # 항상 : 모든이 추가하려면 쓰기 fsync를 한 후 로그 만. , 안전한 슬로우. #의 everysec : 한 번만 초마다 fsync를. 타협. # 설명 # 기본 이다 " everysec " , 로그게 ' 보통 사이의 적절한 타협이야 # 속도와 데이터의 안전. 그것은 ' 당신이이 휴식을 취할 수 있는지에의를 이해하기 # " 아니오 " 운영 시스템이 때 출력 버퍼를 플러시 할 것이다 # 그것을 원 에 대한 더 나은 성능 (하지만 경우에 당신의 아이디어에 살 수 # 일부 데이터가 손실 고려 기본 지속성 모드 ' 의 스냅 숏), # 또는 반대로이 사용 " 항상 " 것이 ' 매우 느리지 만보다 약간 안전하다 everysec #. # # 자세한 내용은 다음 문서를 확인하시기 바랍니다 # HTTP : // antirez.com/post/redis-persistence-demystified.html # # 확실하다면 사용 " everysec을 " . #의 appendfsync 항상 everysec appendfsync 없는 appendfsync #을
클라이언트는 수동 수행 할 수 bgrewirteaof의 , 명령 AOF 지속성을 appendonly.aof (기본) 파일을 생성합니다. 레디 스는 시간에 appendonly.aof에서 데이터를 복구 우선 순위를 부여합니다 시작합니다.
AOF 파일을 덮어 쓰기 :
데이터의 복원에 도움이되는 파일 크기를 줄이기 열기 AOF 시간, 시간이 지남에 따라, AOF 문서는 충족 특정 조건에서 레디 스이 bgrewirteaof됩니다, 점점 더 커질 파일을 최적화합니다
추가]의 # 자동 재 작성은 전용 파일. # 레디 스는 것입니다 자동으로 호출 암시 적으로 로그 파일을 다시 할 수 AOF 로그 크기가 지정된 비율로 증가 할 때 #의 BGREWRITEAOF합니다. # #이 입니다 그것이 작동하는 방법 : 레디 스이 후 AOF 파일의 크기를 기억 # 최신 재 ( 경우 에는 재 작성이 다시 시작부터 일이 없다,의 크기 시작시 # AOF이 되어 사용). # #이 기본 크기가 되어 현재의 사이즈 비교. 현재 크기가 경우 입니다 지정된 비율보다 더 # 더 큰 다시 쓰기는 이다 트리거. 또한 # 당신이 최소한의 크기를 지정해야합니다 위해 다시 작성하는 AOF 파일 이 #은 있다 조차 AOF 파일 재 작성하지 않도록하는 것이 유용 경우 비율 증가 #이 되는 도달을하지만 입니다 여전히 아주 작은. # # 0의 비율을 지정 에 자동 AOF하지 않도록하기 위해 # 재 작성 기능을. 자동 -aof 재 기입 비율 100 자동 -aof - 재 분 크기 64메가바이트
두 가지 방법으로 RDB와 AOF 비교 :
바이너리 모드에서 1.RDB 데이터를 기록, AOF 텍스트 모드에서 녹음 작업
RDB보다 높은 보안 2.AOF는, RDB 지속성을위한 시간 지연이며, 지속적 경우 실패의 레디 스 데이터 손실이 발생할 수 있습니다. 그래서이 방법은 데이터 요구 사항은 특히 엄격한 시간이 아닌 더 적합
3.AOF 파일이 방법보다 더 느리게 회복 RDB, RDB보다 일반적으로 큰 파일입니다
관련 명령
정보 지속성
bgsave
구하다
bgrewriteaof