>데이터 베이스 >Redis >Redis 마스터-슬레이브 복제 생성 프로세스

Redis 마스터-슬레이브 복제 생성 프로세스

尚
앞으로
2020-04-06 09:03:131828검색

Redis 마스터-슬레이브 복제 생성 프로세스

먼저 해당 메인 라이브러리를 지정하기 위해 슬레이브 라이브러리 구성 파일에 masterHost masterPort의 슬레이브를 추가합니다. 이때 슬레이브 라이브러리를 시작하면 redis는 마스터에 연결하기 위해 지정된 IP 및 포트 번호를 찾습니다. 실행 중인 Redis 서버인 경우에는 Slaveof masterHost masterPort 명령을 실행하여 슬레이브 라이브러리에서 복제를 시작할 수 있습니다. .

다음 표는 마스터-슬레이브 복제 중에 Redis가 수행하는 단계를 보여줍니다.

slave-serve-stale-data가 yes(기본 설정)인 경우 슬레이브 라이브러리는 클라이언트 요청에 계속 응답합니다. 그렇지 않으면 INFO 및 SLAVOF 명령을 제외한 모든 요청이 클라이언트<td align="center" style="border-color: rgb(221, 221, 221);" width="540"><strong></strong></td>3bgsave실행 후 스냅샷 파일을 슬레이브 라이브러리로 보냅니다. 이 기간 동안 계속해서 버퍼를 사용하여 쓰기 명령을 기록합니다<td align="center" style="border-color: rgb(221, 221, 221);" width="35"></td> <td align="center" style="border-color: rgb(221, 221, 221);" width="252">모든 데이터를 삭제하고</td> 메인 라이브러리의 스냅샷 파일을 로드합니다<td align="center" style="border-color: rgb(221, 221, 221);" width="540"></td>4스냅샷 전송 후 전송 시작 ​​전 언급된 버퍼에 쓰기 명령이 스냅샷 해석 및 작업을 완료하고 명령 요청을 정상적으로 수신하기 시작했습니다. 5
Steps Master server Slave server
1 정상 작동... sync 명령 보내기 , 메인 서버에 연결
2 bgsave 명령을 실행하고 나중에 쓰기 명령을 버퍼에 기록합니다bgsave命令,并将稍后的写命令记录到缓冲区 如果配置slave-serve-stale-data 为 yes( 默认设置 ) ,从库会继续响应客户端的请求;否则除了 INFO 和 SLAVOF 命令之外的任何请求都会返回给客户端一个错误提示
3 bgsave

버퍼의 내용이 이제부터 명령이 실행될 때마다 서버에서 동일한 명령이 전송됩니다.

메인 라이브러리에서 보낸 버퍼에 있는 명령을 실행하고 실행이 완료된 후 에서 보낸 모든 쓰기 명령을 받아 실행합니다. 메인 라이브러리

🎜🎜슬레이브 라이브러리가 복사를 시작하면 먼저 자신의 데이터를 복사한다는 점에 유의해야 합니다. 데이터가 지워집니다. 🎜🎜더 많은 Redis 지식을 알고 싶다면 🎜redis 입문 튜토리얼🎜 칼럼을 주목해 주세요. 🎜

위 내용은 Redis 마스터-슬레이브 복제 생성 프로세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제