Redis REPL-BACKLOG-SIZE Parameter

<< REPLICA-PRIORITY REPL-DISKLESS-SYNC >>

Redis repl-backlog-size parameter

레디스 설정 파일인 redis.conf 에 있는 repl-backlog-size 파라미터에 대한 설명입니다.   이 파라미터는 버전 2.8.0에 부분적 재동기화(Partially Resynchronization) 기능과 함께 추가되었습니다.
이 문서는 레디스 서버 버전 3.2.2을 기준으로 만들었습니다.

설명

클론(슬레이브)와 연결이 끊어졌을 때 입력되는 데이터를 backlog-buffer에 저장했다가 다시 연결되면 전체 데이터를 다시 보낼 필요없이 backlog-buffer의 데이터를 클론에 보내서 동기화합니다.  이렇게 동작하는 것을 부분 동기화(partial resynchronization)라고 합니다. 입력되는 데이터가 이 버퍼 사이즈를 초과하면 전체 동기화(full synchronization)를 합니다. repl-backlog-size는 이 backlog-buffer 사이즈입니다.

1mb가 기본값(default value)입니다. kb, mb, gb 단위를 사용할 수 있습니다.

0으로 설정할 수 없습니다. 0으로 하면 레디스 서버 시작시 다음과 같은 에러를 발생시키고 멈춥니다.
*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 392
>>> 'repl-backlog-size 0'
repl-backlog-size must be 1 or greater.

레디스 서버가 시작했을 때는 backlog-buffer를 할당하지 않습니다.   이 서버에 다른 서버가 클론으로 연결되면 repl-backlog-size 만큼 backlog-buffer가 할당합니다.
서버가 마스터에서 클론으로 변경되면 backlog-buffer를 해제합니다.
서버가 클론에서 마스터로 변경되어도 backlog-buffer를 할당하지 않습니다.
Backlog-buffer가 할당되는 경우는 서버에 다른 서버가 클론으로 연결되었을 때입니다.

CONFIG GET 명령으로 repl-backlog-size를 확인할 수 있고, 레디스 서버 운영 중 CONFIG SET 명령으로 변경할 수 있습니다.   또한 INFO replication 명령에서 repl-backlog-size를 확인할 수 있습니다.
Backlog-buffer 메모리 할당 여부는 INFO memory 명령에서 used_memory로 확인할 수 있습니다.

복제에 대한 자세한 내용은 여기를 보세요.

사용 방법

repl-backlog-size 1kb
repl-backlog-size 1mb
repl-backlog-size 1gb



<< REPLICA-PRIORITY REPL-BACKLOG-SIZE REPL-DISKLESS-SYNC >>

질문하거나 댓글을 보려면 클릭하세요.  댓글수 :    조회수 :

Email 返事がかかってなれば、メールでお知らせします。