redis主從複製同步實現的過程
#1.從服務發送一個sync同步指令給主服務要求全量同步(推薦學習:Redis影片教學)
2.主服務接收到從服務的sync同步指令時,會fork一個子程序後台執行bgsave指令(非阻塞)快照儲存,產生RDB文件,並將
RDB檔案傳送給從服務
3.從服務再將接收到的RDB檔案載入自己的redis記憶體
4.待從服務將RDB載入完成後,主服務再將緩衝區所有寫入命令發送給從服務
5.從服務在將主服務所有的寫入命令載入記憶體從而實現資料的完整同步
6.從服務下次在需要同步數據時只需要發送自己的offset位置(相當於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中文網其他相關文章!