前言
主從關係,簡單說是以主庫爲準,從庫內容異步複製主數據庫,從而達成主從內容基本一致的情況。
前者稱爲主節點(master),後者稱爲從節點(slave),數據的複製是單向的,只能由主節點到從節點。
redis 主從模式配置
解壓redis 安裝包 然後複製兩份或者多份(這裏以windows爲例,linux基本一致 ,我這裏沒有多個服務器,所以在一臺機器上模擬多實例代替多機器主從)
首先個更改配置文件 (redis.windows.conf )
要做的事情是改端口 一個是6380 這個是主節點,6381這是從節點
- 指定新的PID文件路徑 (windows下沒有)
pidfile /var/run/redis/redis_6380.pid
- 指定新的端口號 (必須改)
port 6380
- 指定新的日誌文件路徑
logfile /var/log/redis/redis_6380.log
- 指定新的轉儲文件路徑
dbfilename dump_6380.rdb
配置主從配置 (redis.windows.conf )
從節點 6389 配置如下
slaveof 127.0.0.1 6380
主節點ip 和 端口
masterauth admin
主節點有密碼就配置,沒有就不配置
保存啓動 測試
其他配置參數:
*slaveof
*masterauth
slave-serve-stale-data yes 主節點出問題時,是否使用本機數據提供服務
slave-read-only yes 從節點是 只讀的
*repl-diskless-sync no 快照先存於磁盤,再發送給從節點
no, Disk-backed, Diskless
新的從節點或某較長時間未能與主節點進行同步的從節點重新與主節點通信,需要做“full synchronization".
複製啓動前延遲一個時間段;
repl-diskless-sync-delay 5
repl-ping-slave-period 10
*repl-timeout 60
repl-disable-tcp-nodelay no
repl-backlog-size 1mb
默認優先級
slave-priority 100
複製集羣中,主節點故障時,sentinel應用場景中的主節點選舉時使用的優先級;數字越小優先級越高,但0表示不參與選舉;
min-slaves-to-write 3:主節點僅允許其能夠通信的從節點數量大於等於此處的值時接受寫操作;
min-slaves-max-lag 10:從節點延遲時長超出此處指定的時長時,主節點會拒絕寫入操作;