먼저 해당 메인 라이브러리를 지정하기 위해 슬레이브 라이브러리 구성 파일에 masterHost masterPort의 슬레이브를 추가합니다. 이때 슬레이브 라이브러리를 시작하면 redis는 마스터에 연결하기 위해 지정된 IP 및 포트 번호를 찾습니다. 실행 중인 Redis 서버인 경우에는 Slaveof masterHost masterPort 명령을 실행하여 슬레이브 라이브러리에서 복제를 시작할 수 있습니다. .
다음 표는 마스터-슬레이브 복제 중에 Redis가 수행하는 단계를 보여줍니다.
slave-serve-stale-data가 yes(기본 설정)인 경우 슬레이브 라이브러리는 클라이언트 요청에 계속 응답합니다. 그렇지 않으면 INFO 및 SLAVOF 명령을 제외한 모든 요청이 클라이언트 3
bgsave실행 후 스냅샷 파일을 슬레이브 라이브러리로 보냅니다. 이 기간 동안 계속해서 버퍼를 사용하여 쓰기 명령을 기록합니다 모든 데이터를 삭제하고 메인 라이브러리의 스냅샷 파일을 로드합니다
Steps | Master server | Slave server |
---|---|---|
1 | 정상 작동... | sync 명령 보내기 , 메인 서버에 연결 |
2 | bgsave 명령을 실행하고 나중에 쓰기 명령을 버퍼에 기록합니다bgsave 命令,并将稍后的写命令记录到缓冲区 |
如果配置slave-serve-stale-data 为 yes( 默认设置 ) ,从库会继续响应客户端的请求;否则除了 INFO 和 SLAVOF 命令之外的任何请求都会返回给客户端一个错误提示 |
3 | bgsave |
|
스냅샷 전송 후 전송 시작 전 언급된 버퍼에 쓰기 명령 | 이 스냅샷 해석 및 작업을 완료하고 명령 요청을 정상적으로 수신하기 시작했습니다. |
버퍼의 내용이 이제부터 명령이 실행될 때마다 서버에서 동일한 명령이 전송됩니다.
메인 라이브러리에서 보낸 버퍼에 있는 명령을 실행하고 실행이 완료된 후 에서 보낸 모든 쓰기 명령을 받아 실행합니다. 메인 라이브러리
슬레이브 라이브러리가 복사를 시작하면 먼저 자신의 데이터를 복사한다는 점에 유의해야 합니다. 데이터가 지워집니다. 더 많은 Redis 지식을 알고 싶다면 redis 입문 튜토리얼 칼럼을 주목해 주세요.위 내용은 Redis 마스터-슬레이브 복제 생성 프로세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!