Redis 마스터-슬레이브 복제 동기화 구현 프로세스
1. 슬레이브 서비스는 전체 동기화를 요구하는 동기화 명령을 메인 서비스에 보냅니다(권장 학습: Redis 비디오 튜토리얼)
2. 메인 서비스 수신 서비스에서 명령을 동기화하면 백그라운드에서 하위 프로세스가 분기되어 bgsave 명령(비차단)을 실행하여 스냅샷을 저장하고, RDB 파일을 생성하고,
RDB 파일을 슬레이브 서비스
3. 그러면 슬레이브 서비스가 RDB를 수신합니다. 파일은 자체 Redis 메모리에 로드됩니다
4. 슬레이브 서비스가 RDB 로드를 완료한 후 마스터 서비스는 버퍼에 있는 모든 쓰기 명령을 슬레이브 서비스
5. 슬레이브 서비스는 데이터의 완전한 동기화를 달성하기 위해 마스터 서비스 메모리의 모든 쓰기 명령을 로드합니다.
6. 슬레이브 서비스가 다음에 데이터를 동기화해야 할 때는 자체 오프셋 위치( mysql binlog 위치와 동일) 새로 추가된 데이터만 동기화되며 더 이상 전체 동기화가 필요하지 않습니다
구성 파일을 통해 마스터-슬레이브 동기화 달성
1. 슬레이브 서비스 구성 파일만 구성하면 됩니다
[root@localhost ~]# vim /app/redis/etc/redis.conf ….. slaveof 192.168.1.9 6379 #添加属于某台主机的从 服务 ….. masterauth 123456 #从服务连接主服的密码 …… slave-read-only yes #从服务只读,不可在命令行写入数据 ……
2. 마스터-슬레이브 연결을 달성하려면 슬레이브 서비스를 다시 시작하세요
[root@localhost ~]# redis-server /app/redis/etc/redis.conf [root@localhost ~]# redis-cli 127.0.0.1:6379> auth 123456 OK 127.0.0.1:6379> info replication #Replication role:slave master_host:192.168.1.9 master_port:6379 master_link_status:up …… ……
위 내용은 Redis에서 마스터-슬레이브 복제를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!