既然是主從複製,那肯定需要多個redis伺服器,下面我先建立3個伺服器,™的埠號分別是:6379、6380、6381。
1、複製預設配置檔案redis.conf,放到rediszhucong資料夾中,並重命名。
根據每個埠號不同,重新配置conf檔案
(1)埠號
(2)開啟執行緒守護
(3)pid檔案名字
(4)log檔案名字
(5)dump.rdb名字
2、在redis-server目錄下,讀取配置啟動這三個redis
./redis-server ../../rediszhucong/redis6379.conf檢視程序./redis-server ../../rediszhucong/redis6380.conf
./redis-server ../../rediszhucong/redis6381.conf
3、開啟多個介面進行操作
./redis-cli -p 6379成功開啟三個伺服器./redis-cli -p 6380
./redis-cli -p 6381
1、是什麼?
行話:也就是我們所說的主從複製,主機資料更新後根據配置和策略,自動同步到備機的master/sl**er機制,master以寫為主,sl**e以讀為主。
2、能幹嘛?
讀寫分離,更加安全,效能提公升。
3、怎麼玩?
一主二僕、薪火相傳、反客為主
(1)一主二僕
配從不配主
sl**eof 主庫ip 主庫埠
我這裡把6379當成主庫,所以只要在6380和6381埠輸入:
通過info replication 檢視是否配置成功。
可以看到6379埠伺服器,role角色是master,同時下面有兩個從伺服器
再看6380埠,role顯示為sl**e。
總結:(1)如果master伺服器掛了,那麼6380,和6381角色依舊是sl**e
(2)如果master又好了,那麼一切正常,下面還是有兩個從,自己還是主。
(3)如果sl**e伺服器掛了,那麼重啟後,需要重新sl**eof 選擇master,除非在配置檔案中配置
(2)薪火相傳
新火相傳的意思其實就是去中心化,現在只有80和81兩台sl**e連線master,假如,有100臺sl**e的話,那麼master就壓力很大了,所以redis又推出了新火相傳的解決方案,上一台sl**e,可以下一台sl**e的master.
79和80不改變,在81上配置如下:
127.0.0.1:6381> sl**eof 127.0.0.1 6380(3)反客為主上面提到了,當master宕機的時候,重寫啟動還是master,現在時,我是想當master宕機的時候,讓某一台從機變成主機,這裡是,讓80變成主機,ok
只要當master死機器的時候,手動在80執行如下命令:
127.0.0.1:6380> sl**eof no one同時,81也要重新配置,配置80為主機
127.0.0.1:6381> sl**eof 127.0.0.1 6380雖然說,反客為主,已經不錯了,但總不能一旦master掛掉,我在手動去重新配置主伺服器,和sl**e伺服器吧。ok
簡單的說,哨兵模式就是反客為主的自動版,通過監控主機,當主機掛掉的時候,就幾台從機中透過投票選出新的主機
1、在 /etc/redis/目錄下新建乙個sentinel.conf檔案(這個目錄隨意,但名字一定叫sentinel.conf)
裡面的內容為:
sentinel monitor host6379 127.0.0.1 6379 1意思是6379埠的伺服器是現在的master,host6379是自己任意取的名字,上面最後乙個數字1,表示主機掛掉後salve投票看讓誰接替成為主機,得票數多少後成為主機
2、啟動sentinel.conf 檔案
表示成功!
這是注意:
就是當原來的master回來後,不是做獨立的mater,而是做新主機的sl**e
當我輸入:shuidown命令,代表kill埠的redis,當我重新啟動6379埠後,發現他的角色變成了:sl**e
Redis 主從複製
主從複製的開啟,完全是在從節點發起的,不需要我們在主節點做任何事情,從節點開啟主從複製,有3種方式 主從複製主要可分為 連線建立階段 即準備階段 資料同步階段 命令傳播階段 主要作用是在主從節點之間建立連線,為資料同步做好準備 從節點資料的初始化,具體執行的方式是 從節點向主節點傳送psync命令 ...
Redis 主從複製
就是將一台 redis 伺服器的資料,複製到其他的 redis 伺服器,前者為主節點 master leader 後者稱為從節點 sl e follower 資料的複製是單向的,只能從主節點到從節點,一般 master 以寫為主,sl e 以讀為主。redis 主從複製可以根據是否是全量分為全量同步...
redis主從複製
redis的高併發有一種實現方式就是主從架構,乙個master節點,多個sl e節點,可以很好的實現sl e節點的水平擴容 主從架構再加上讀寫分離,master節點負責寫操作,sl e節點負責讀操作,使得redis可以很好的做乙個高併發的處理。有人就會疑惑了 sl e節點上的資料怎麼來的了?所以我們...