偷個懶,晚上工作忙的太晚,整個複製功能的內容還沒有寫完,這裡先說一下複製功能的簡單應用。 在Redis中,用戶可以通過執行SLAVEOF命令或者設置slaveof選項,讓一個伺服器去複製另一個伺服器,我們稱呼被覆制的伺服器為主伺服器(master),而對主伺服器進行複製的伺服器則被稱為從伺服器(sl ...
偷個懶,晚上工作忙的太晚,整個複製功能的內容還沒有寫完,這裡先說一下複製功能的簡單應用。
在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主從同步過程中的心跳檢測。
每天學一點,總會有收穫。