天天看點

Redis建立replication主從複制筆記

     資料庫系統中複制(replication)技術是非常重要的高可用設計,流行的MySQL、MongoDB資料庫都支援複制,Redis也實作了複制,而且感覺更靈活友善。類似于其他資料庫,實施Redis複制有以下好處。

  • 資料安全。Redis支援快照(snapshotting)和隻追加檔案(append-only file, AOF)兩種方式将資料寫出到磁盤實作持久化和備份,類似于MySQL資料庫的dump和二進制日志。相比之下,複制是另一個實時工作的Redis執行個體。
  • 讀寫分離。從庫可以作為讀庫分擔主庫的讀寫壓力。

     Redis啟用複制後,主庫(master)會進行一次snapshotting,然後将資料快照傳送給從庫(slave),slave接收master的資料快照,master之後的寫操作都會發送到slave并執行。詳細步驟如下。

Redis建立replication主從複制筆記

     開啟複制工作非常簡單,master開放通路,slave通過host和port兩個參數接收master的更改,“ slaveof host port ”。以我本地為例,一台CentOS作為master,另一台Ubuntu作為slave。首先是開啟Redis端口(預設6379)的外網通路。具體啟動Redis複制有三種方式。

Redis建立replication主從複制筆記
firewall-cmd --add-port=6379/tcp --permanent
systemctl restart firewalld.service
           

     ①配置檔案法。

shell# echo -e "\n# set replication\nslaveof 192.168.112.128 6379" >> redis.conf
           

     ②指令行啟動選項法。

shell# ./src/redis-server redis.conf --slaveof 192.168.112.128 6379 &
           

     ③控制台指令法

redis> slaveof 192.168.112.128 6379
           

參考:

https://redis.io/topics/replication

《Redis in Action》( https://book.douban.com/subject/10597898/ )

繼續閱讀