Redis基礎五--------主備倒換
阿新 • • 發佈:2018-12-31
Redis的主從複製
1、什麼是主從複製
持久化保證了即使redis服務重啟也不會丟失資料,因為redis服務重啟後會將硬碟上持久化的資料恢復到記憶體中,但是當redis伺服器的硬碟損壞了可能會導致資料丟失,如果通過redis的主從複製機制就可以避免這種單點故障,如下圖:
說明:
- 主redis中的資料有兩個副本(replication)即從redis1和從redis2,即使一臺redis伺服器宕機其它兩臺redis服務也可以繼續提供服務。
- 主redis中的資料和從redis上的資料保持實時同步,當主redis寫入資料時通過主從複製機制會複製到兩個從redis服務上。
- 只有一個主redis,可以有多個從redis。
- 主從複製不會阻塞master,在同步資料時,master 可以繼續處理client 請求
- 一個redis可以即是主又是從,如下圖:
2、主從複製設定
主機配置
無需配置
從機配置
第一步:複製出一個從機
[[email protected] redis19]# cp bin/ bin2 –r
第二步:修改從機的redis.conf
語法:Slaveof masterip masterport
slaveof 192.168.242.137 6379
第三步:修改從機的port地址為6380
在redis.conf中修改
第四步:清除從機中的持久化檔案
[[email protected] bin2]# rm -rf appendonly.aof dump.rdb
第五步:啟動從機
[[email protected] bin2]# ./redis-server redis.conf
第六步:啟動6380的客戶端
[[email protected] bin2]# ./redis-cli -p 6380
注意:
主機一旦發生增刪改操作,那麼從機會將資料同步到從機中
從機不能執行寫操作
127.0.0.1:6380> set s2 222 (error) READONLY You can't write against a read only slave. |