Redis學習筆記(十二) 複製(上)

偷個懶,晚上工作忙的太晚,整個複製功能的內容還沒有寫完,這裡先說一下複製功能的簡單應用。

在Redis中,用戶可以通過執行SLAVEOF命令或者設置slaveof選項,讓一個服務器去複製另一個服務器,我們稱呼被複制的服務器為主服務器(master),而對主服務器進行複製的服務器則被稱為從服務器(slave)。

進行複製中的主從服務器雙方的數據庫將保存相同的數據,概念上我們將這種現象稱為數據庫狀態一致或簡稱一致。

現在我們簡單模擬主從同步:

1、拷貝一份redisServer的代碼出來,修改redis.windows.conf文件的post端口

 

這裡我們修改端口號為6380。

 

這裡說明下,redis啟動有兩種方式:一種是以windows服務的方式運行,另一種是不以服務的方式運行(CMD啟動),我們這裡用一下不常用的服務的方式啟動。

另外在windows安裝完redis後發現在安裝目錄下存在兩個配置文件,分別是

redis.windows-service.conf 和 redis.windows.conf ,前者是用於windows服務運行,後者不以windows服務運行。

 

然後執行以下命令:

redis-server.exe –service-install redis.windows.conf –service-name redis6380 –loglevel verbose 安裝服務

redis-server.exe –service-start –service-name redis6380 啟動服務

redis-server.exe –service-stop –service-name redis6380 停止服務

redis-server.exe –service-uninstall –service-name redis6380 卸載服務

此時端口號為6380的redisServer已經啟動,

 

2、然後另一份代碼我們默認執行redis-server.exe(偷懶)啟動端口號為6379的server端。

3、接下來我們在6380端口的服務器上執行slaveof 127.0.0.1 6379,此時127.0.0.1 6380成為127.0.0.1 6379的從服務器。(PS:redis命令不區分大小寫~)

 

4、下面我們來校驗主從是否同步:

(1)我們在主服務器(127.0.0.1 6379)服務器上執行:set key value

 

 (2)現在我們將控台切換回(127.0.0.1 6380)

 

 

到此一個簡單的主從複製服務器就通了。

 

下一篇我們再看下主從複製的執行過程、SLAVEOF命令的實現、新舊同步方式的差異以及redis主從同步過程中的心跳檢測。

 


 

每天學一點,總會有收穫。

 


 

 

 

 

 

Tags: