문제

"내구성"이라는 의미로, 서버는 언제든지 충돌 할 수 있으며 디스크가 재치가 유지되는 한 데이터가 손실되지 않습니다 (참조 ). 저널링 모드 인 것 같습니다. 그러나 저널링을 활성화한다면 메모리 내 데이터에서 작동하는 목적을 물리 치지 않습니까? 읽기 작업은 저널링의 영향을받지 않을 수도 있지만 저널링이 쓰기 성능을 죽이는 것처럼 보입니다.

도움이 되었습니까?

해결책

Redis는 그렇지 않습니다 대개 저널링과 함께 "내구성"데이터 저장소 (산의 "D"의 의미에서)로 배포되었습니다. 대부분의 사용 사례는 의도적으로 속도에 대한 대가로 약간의 내구성을 희생합니다.

그러나 "파일 전용 파일 전용"스토리지 모드는 성능 비용으로 내구성있는 방식으로 작동하도록 선택적으로 구성 될 수 있습니다. 비용을 지불해야합니다 fsync () 모든 수정에. 이를 구성하려면 .conf 파일 에서이 두 가지 옵션을 설정하십시오.

 appendonly yes
 appendfsync always

문서에서 : 부록 만 파일 만 내구성이 있습니까?

redis.conf를 확인하십시오. 디스크에서 redis가 fsync () 데이터를 몇 번이나 구성 할 수 있습니다. 세 가지 옵션이 있습니다.

  • fsync () 새 명령이 부록 로그 파일에 추가 될 때마다. 매우 느리고 안전합니다.
  • fsync () 한 번마다 한 번. 충분히 빠르면 재난이 있으면 1 초의 데이터를 잃을 수 있습니다.
  • fsync ()를 절대, 데이터를 운영 체제의 손에 넣으십시오. 더 빠르고 불안한 방법.

(redis post-2.0.0을 사용한 구성 파일 배송에서 appendfsync의 기본값은 다음과 같습니다. everysec, 그렇지 않습니다 always.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top