Linux下一台服務器Redis主從復制(master-slave)配置


主從概念

  • ⼀個master可以擁有多個slave,⼀個slave⼜可以擁有多個slave,如此下去,形成了強⼤的多級服務器集群架構
  • master用來寫數據,slave用來讀數據,經統計:網站的讀寫比率是10:1
  • 通過主從配置可以實現讀寫分離

  • 復制功能也不會阻塞從服務器: 只要在 redis.conf 文件中進行了相應的設置, 即使從服務器正在進行初次同步, 服務器也可以使用舊版本的數據集來處理命令查詢。

  • 通過復制功能來讓主服務器免於執行持久化操作: 只要關閉主服務器的持久化功能, 然后由從服務器去執行持久化操作即可。減少服務器壓力。

復制功能的運作原理

  • 無論是初次連接還是重新連接, 當建立一個從服務器時, 從服務器都將向主服務器發送一個 SYNC 命令。 
  • 主服務器接收到SYNC命名后,開始執行BGSAVE命令生成RDB文件並使用緩沖區記錄此后執行的所有寫命令; 
  • 主服務器BGSAVE執行完后,向所有從服務器發送快照文件,並在發送期間繼續記錄被執行的寫命令; 
  • 從服務器收到快照文件后丟棄所有舊數據,載入收到的快照; 
  • 主服務器快照發送完畢后開始向從服務器發送緩沖區中的寫命令; 
  • 從服務器完成對快照的載入,開始接收命令請求,並執行來自主服務器緩沖區的寫命令;
  • 主從配置

    配置主

  • 查看當前主機的ip地址

ifconfig

 

  • 修改etc/redis/redis.conf文件

sudo vim redis.conf
bind 192.168.26.128

  • 重啟redis服務

sudo service redis stop
redis-server redis.conf

  • 配置從

    • 復制etc/redis/redis.conf文件

      sudo cp redis.conf ./slave.conf

    • 修改redis/slave.conf文件

      sudo vi slave.conf

    • 編輯內容

      bind 192.168.26.128
      slaveof 192.168.26.128 6379
      port 6378

    • redis服務

      sudo redis-server slave.conf

    • 查看主從關系

      redis-cli -h 192.168.26.128 info Replication

數據操作

  • 在master和slave分別執⾏info命令,查看輸出信息 進入主客戶端

    redis-cli -h 192.168.26.128 -p 6379

  • 進入從的客戶端

    redis-cli -h 192.168.26.128 -p 6378

  • 在master上寫數據

    set aa aa

     

  • 在slave上讀數據

    get aa


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM