兩種配置方式: redis
一、slaveof命令異步
舉例:spa
這條命令是:讓6382這個節點從本機6379這個節點進行復制,(即6379爲master,6382爲slave) 返回結果OK ,這裏返回結果是異步的,也就是說執行完命令會馬上返回,實際上後臺還有不少的操做。ip
取消複製:同步
這條命令表明6382再也不成爲任何節點的從節點io
這裏有兩個注意點:ast
一、以前從master複製過來的數據並不會丟失,只是再也不同步以前master(如上圖的6379節點)後續寫入的數據後臺
二、這條命令也能夠用來改變其所屬的master節點,即從新成爲另外一臺master的slave,可是新的master首先就會把從節點的數據所有清除掉。(全量複製)配置
二、修改配置文件im
slaveof ip port --- 成爲某個主節點的從節點,這裏ip和port是所指向的master節點
slave-read-only yes --- 當前從節點只作讀的操做,不容許寫
下面是我在同一機器上的一個演示:在master節點(6379)上執行 info replication命令能夠看到這個節點的相關信息
接着咱們啓動從節點,並執行下info replication命令,能夠看到從節點相關信息
主節點再執行info replication命令,能夠看到當前master的從節點個數以及從節點信息
接下來,咱們能夠看到在主節點上增長的數據,以及同步到了從節點
接着咱們嘗試在從節點上寫入數據,會獲得一個錯誤,不能在從節點上進行寫操做
什麼是runId?runId是redis在每次啓動的時候,都會有一個隨機的ID,來惟一標識這個節點,當redis關閉runId消失,重啓又會產生一個新的runId
能夠用 redis 的 info 命令來查看當前runId:
什麼是偏移量? 偏移量是當redis每次寫入數據時,偏移量都會增長,這個是隻從複製時,用來對比主從同步的狀態,若是當master 的偏移量遠高於slave的偏移量時,就是master寫了不少數據,而slave沒有同步,這就證實咱們主從同步有問題。
能夠用info replication查看當前master節點和slave節點的偏移量
上圖能夠看到 咱們的主從兩個節點的偏移量是相等的,表明數據同步沒有問題。