redis主從複製

主從複製的配置

兩種配置方式: 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?runId是redis在每次啓動的時候,都會有一個隨機的ID,來惟一標識這個節點,當redis關閉runId消失,重啓又會產生一個新的runId

能夠用 redis 的 info 命令來查看當前runId:

什麼是偏移量? 偏移量是當redis每次寫入數據時,偏移量都會增長,這個是隻從複製時,用來對比主從同步的狀態,若是當master 的偏移量遠高於slave的偏移量時,就是master寫了不少數據,而slave沒有同步,這就證實咱們主從同步有問題。

能夠用info replication查看當前master節點和slave節點的偏移量

上圖能夠看到 咱們的主從兩個節點的偏移量是相等的,表明數據同步沒有問題。

相關文章
相關標籤/搜索