1. 程式人生 > >Redis基礎五--------主備倒換

Redis基礎五--------主備倒換

Redis的主從複製

1、什麼是主從複製

持久化保證了即使redis服務重啟也不會丟失資料,因為redis服務重啟後會將硬碟上持久化的資料恢復到記憶體中,但是當redis伺服器的硬碟損壞了可能會導致資料丟失,如果通過redis的主從複製機制就可以避免這種單點故障,如下圖:

 

 

說明:

  1. 主redis中的資料有兩個副本(replication)即從redis1和從redis2,即使一臺redis伺服器宕機其它兩臺redis服務也可以繼續提供服務。
  2. 主redis中的資料和從redis上的資料保持實時同步,當主redis寫入資料時通過主從複製機制會複製到兩個從redis服務上。
  3. 只有一個主redis,可以有多個從redis。
  4. 主從複製不會阻塞master,在同步資料時,master 可以繼續處理client 請求
  5. 一個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.