Redis 主從配置(Windows版)
安裝從庫
1、復制一份 Redis 文件,當做從庫。
2、修改從庫文件中 redis.windows.conf 的端口號。
3、安裝服務,需要重新設置名稱。然後去服務中,開啟“redis6380”(此時就可以連接6380的庫了)
redis-server --service-install redis.windows.conf --service-name Redis6380
配置主從服務器
Redis Slaveof 命令
Redis Slaveof 命令可以將當前服務器轉變為指定服務器的從屬服務器(slave server)。
如果當前服務器已經是某個主服務器(master server)的從屬服務器,那麽執行 slaveof host port 將使當前服務器停止對舊主服務器的同步,丟棄舊數據集,轉而開始對新主服務器進行同步。
另外,對一個從屬服務器執行命令 slaveof no one 將使得這個從屬服務器關閉復制功能,並從從屬服務器轉變回主服務器,原來同步所得的數據集不會被丟棄。
利用『 slaveof no one 不會丟棄同步所得數據集 』這個特性,可以在主服務器失敗的時候,將從屬服務器用作新的主服務器,從而實現無間斷運行。
在從庫6380上輸入命令,來開啟數據同步(格式:slaveof host port)
slaveof 127.0.0.1 6379 //同步主庫 6379
在從庫上輸入命令,關閉數據同步
slaveof no one //取消同步
1、通過 cd 命令進入解壓的目錄,使用 redis-cli -p 6380 命令切到6380從庫
2、slaveof 127.0.0.1 6379 設置主從,6379是主庫,6380是從庫。(設置同步時,會將主庫所有數據一起同步過來。)
3、測試
6379庫 set A 123 ,6380庫 get A,從庫默認是不允許寫入數據的。
4、永久保存主從關系
按如下所示,添加命令 slaveof 127.0.0.1 6379 ,配置好以後,每次redis服務重啟時,會自動同步主庫數據
主從同步過程
下面來研究下slave服務器和master服務器間是如何建立起主從同步機制的。
1、Slave服務啟動,主動連接Master,並發送SYNC命令,請求初始化同步
2、Master收到SYNC後,執行BGSAVE命令生成RDB文件,並緩存該時間段內的寫命令
3、Master完成RDB文件後,將其發送給所有Slave服務器
4、Slave服務器接收到RDB文件後,刪除內存中舊的緩存數據,並裝載RDB文件
5、Master在發送完RDB後,即刻向所有Slave服務器發送緩存中的寫命令
6、至此初始化完成,後續進行增量同步
相關文章:C# Redis 可視化工具 Redis Desktop Manager
C# StackExchange.Redis 簡單使用
C# Redis Windows版下載與安裝
參考文章:https://blog.csdn.net/guweiyu_thinker/article/details/78816071
Redis 主從配置(Windows版)