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主從同步過程中的心跳檢測。
每天學一點,總會有收穫。