Redis 提供了主從同步(Master-Slave Replication)的功能,用于將一個 Redis 實例(主節(jié)點)的數(shù)據(jù)自動復(fù)制到一個或多個其他 Redis 實例(從節(jié)點)。這樣可以實現(xiàn)數(shù)據(jù)的實時備份、負載均衡和故障恢復(fù)。
以下是配置 Redis 主從同步的步驟:
在主節(jié)點的 redis.conf
配置文件中,確保以下設(shè)置:
bind 0.0.0.0
protected-mode no
port 6379
requirepass your_master_password
這里,bind 0.0.0.0
表示允許來自任何 IP 的連接。protected-mode no
表示關(guān)閉保護模式。port 6379
是 Redis 監(jiān)聽的端口。requirepass your_master_password
是為主節(jié)點設(shè)置一個密碼,用于從節(jié)點連接到主節(jié)點時進行身份驗證。
在從節(jié)點的 redis.conf
配置文件中,進行以下設(shè)置:
bind 0.0.0.0
protected-mode no
port 6380
slaveof your_master_ip 6379
masterauth your_master_password
這里,slaveof your_master_ip 6379
表示從節(jié)點將連接到主節(jié)點的 IP 地址和端口。masterauth your_master_password
是從節(jié)點連接到主節(jié)點時使用的密碼。
在主節(jié)點和從節(jié)點上分別重啟 Redis 服務(wù)以應(yīng)用配置更改。
在從節(jié)點上執(zhí)行以下命令,查看從節(jié)點是否已成功連接到主節(jié)點并開始同步數(shù)據(jù):
info replication
如果一切正常,你應(yīng)該能看到類似以下的輸出:
# Replication
role:slave
master_host:your_master_ip
master_port:6379
master_link_status:up
現(xiàn)在,主節(jié)點的數(shù)據(jù)已經(jīng)自動同步到從節(jié)點。你可以通過查詢從節(jié)點來驗證數(shù)據(jù)是否一致。如果需要添加更多從節(jié)點以實現(xiàn)負載均衡,只需按照上述步驟配置它們,并將 slaveof
配置指向主節(jié)點即可。