歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Redis主從配置

Redis主從配置

日期:2017/2/28 14:26:53   编辑:Linux教程

推薦閱讀:

Redis安裝配置教程及phpredis擴展安裝測試 http://www.linuxidc.com/Linux/2014-10/108197.htm
Redis命令參考之復制(Replication) http://www.linuxidc.com/Linux/2014-10/108198.htm

1. 介紹
以下引用自https://redis.readthedocs.org/en/latest/topic/replication.html

Redis 支持簡單且易用的主從復制(master-slave replication)功能, 該功能可以讓從服務器(slave server)成為主服務器(master server)的精確復制品。

2. 原理

無論是初次連接還是重新連接, 當建立一個從服務器時, 從服務器都將向主服務器發送一個 SYNC 命令。

接到 SYNC 命令的主服務器將開始執行 BGSAVE , 並在保存操作執行期間, 將所有新執行的寫入命令都保存到一個緩沖區裡面。

當 BGSAVE 執行完畢後, 主服務器將執行保存操作所得的 .rdb 文件發送給從服務器, 從服務器接收這個 .rdb 文件, 並將文件中的數據載入到內存中。

之後主服務器會以 Redis 命令協議的格式, 將寫命令緩沖區中積累的所有內容都發送給從服務器。

你可以通過 telnet 命令來親自驗證這個同步過程: 首先連上一個正在處理命令請求的 Redis 服務器, 然後向它發送 SYNC 命令, 過一陣子, 你將看到 telnet 會話(session)接收到服務器發來的大段數據(.rdb 文件), 之後還會看到, 所有在服務器執行過的寫命令, 都會重新發送到 telnet 會話來。

即使有多個從服務器同時向主服務器發送 SYNC , 主服務器也只需執行一次 BGSAVE 命令, 就可以處理所有這些從服務器的同步請求。

從服務器可以在主從服務器之間的連接斷開時進行自動重連, 在 Redis 2.8 版本之前, 斷線之後重連的從服務器總要執行一次完整重同步(full resynchronization)操作, 但是從 Redis 2.8 版本開始, 從服務器可以根據主服務器的情況來選擇執行完整重同步還是部分重同步(partial resynchronization)。

3. 實戰
注:條件有限,以下主從服務器均在同一台服務器上配置。

1. 啟動主服務器和從服務器,分別監聽6379端口,6380端口:

2. 修改從服務器:

3. 重啟下從服務器,可以對比下主從數據其實是一致的,即可實現主從復制:

Ubuntu 14.04下Redis安裝及簡單測試 http://www.linuxidc.com/Linux/2014-05/101544.htm

Redis集群明細文檔 http://www.linuxidc.com/Linux/2013-09/90118.htm

Ubuntu 12.10下安裝Redis(圖文詳解)+ Jedis連接Redis http://www.linuxidc.com/Linux/2013-06/85816.htm

Redis系列-安裝部署維護篇 http://www.linuxidc.com/Linux/2012-12/75627.htm

CentOS 6.3安裝Redis http://www.linuxidc.com/Linux/2012-12/75314.htm

Redis安裝部署學習筆記 http://www.linuxidc.com/Linux/2014-07/104306.htm

Redis配置文件redis.conf 詳解 http://www.linuxidc.com/Linux/2013-11/92524.htm

Copyright © Linux教程網 All Rights Reserved