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: