1. 程式人生 > >NoSQL之redis(主從複製)

NoSQL之redis(主從複製)

1.redis主從複製的介紹:

    持久化保證了即使redis伺服器重啟也不會丟失資料,因為redis伺服器重啟後將硬碟上持久化的資料恢復到記憶體中,

但是當redis伺服器的硬碟損壞了可能會導致資料丟失,如果通過redis的主從複製機制就可以避免這種單點故障。

如下圖:

                                                           

image

解釋:

  • 主redis的資料有兩個副本,即從節點redis1和從節點redis2,即使一臺redis伺服器宕機其他的兩臺伺服器可以繼續提供使用
  • 主redis中的資料和從redis上的資料儲存資料實時同步,當主redis寫入資料時通過主從複製機制會複製寫入的資料到其他從redis中
  • 只有一個主redis,可以有多個從redis
  • 主從複製不會阻塞master,在同步資料時,master可以繼續處理client的請求
  • 主機一旦發生增刪改操作,那麼從節點在同步資料時,從機中不能執行寫操作。
  • 一個redis可以既是主又是從:如圖

                                                          

image

 

2. 主從複製的相關配置

      注意:在主從複製的時候,主節點無需配置,所有的配置都是在從節點中。

    ①將主節點的redis服務複製到其他節點上

         這裡使用的是scp命令,   scp -r  ../../redis-3.0.0   hostname:/dir

    ②修改從節點中的redis.conf檔案:

          配置slaveof 192.168.242.137 6379

          image 

    ③清除從機中的持久化檔案

         [[email protected] bin2]# rm -rf appendonly.aof dump.rdb

    ④啟動從機

        [[email protected] bin2]# ./redis-server redis.conf  (這裡在每一個從節點的機器中都啟動)