我是
方圓
,希望這些知識對我們
都有幫助
索引和瀏覽 ↓
6. 主從複製
6.1 簡單瞭解什麼是主從複製
主從複製就是指將一臺Redis服務器中的數據,複製到其他的Redis服務器。能夠進行寫操作的稱爲主節點
,複製主節點數據的稱爲從節點
。從節點只能讀
,只有主節點能寫,且數據的複製過程是單向的
。
在默認情況下,每個Redis服務器都是主節點
;一個主節點可以有多個
從節點,一個從節點只能有一個
主節點。單臺Redis服務器內存不要超過20G
6.2 配置從節點的方式
- 在配置文件中修改
slaveof <masterip> <masterport>
,這種是用的最多的 - 通過命令行輸入命令配置,這種配置在
從節點斷開連接
後會失效。
slaveof 127.0.0.1(地址) 6379(端口號)
info replication #查看該Redis的信息
Tips: 用命令進行配置的時候,若出現主節點斷開的情況,再連接之後,仍能作爲其從節點的主節點
但是,從節點斷開連接之後,再鏈接,將不會作爲從節點出現,而是成爲了新的主節點,將不再履行主從複製的職責
6.3 主從複製的作用
- 故障恢復:在主節點出現問題的時候,可以由從節點提供服務
- 負載均衡:進行讀寫分離,主節點負責寫,從節點只能讀(進行寫操作會報錯)
- 高可用基石:集羣服務實施的基礎
- 數據冗餘:主從複製實現了數據的熱備份(系統處於正常運轉狀態下的備份),是持久化之外的一種數據冗餘。
6.4 簡單瞭解全量複製和增量複製
- 全量複製:從節點初次鏈接到主節點時,會將主節點的
全部數據
發送到從節點。 - 增量複製:在進行完全量複製之後,主節點每
增加
一條數據,便會追加到從節點
7. 哨兵模式(自動選舉)
7.1 哨兵模式的革新
假設當我們的主節點Redis服務器宕機了,這時我們需要手動命令將其切換爲主服務器(命令:slaveof no one)
,用了哨兵模式,那麼我們就可以通過哨兵進程
,在主節點宕機的時候,自動選舉
出一個新的主節點來提供服務。
7.2 原理圖
-
通過發送命令,讓Redis服務器返回監控其運行狀態,包括主服務器和從服務器。
-
當哨兵監測到master宕機,會自動將slave切換成master,然後通過發佈訂閱模式通知其他的從服務器,修改配置文件,讓它們切換主機。
單個哨兵可能出現失效的情況,多個哨兵更加穩定,哨兵之間也有了互相監控
參考
該系列其他文章
Redis之必備基礎知識點,文讀百變其意自現(一)
Redis之數據類型,好記性不如爛筆頭(二)
Redis之事務樂觀鎖和Jedis,誰說的Redis不能實現樂觀鎖的?(三)
Redis之redis.conf解析,瞭解了這些配置信息,才能說了解Redis(四)
Redis之RDB和AOF持久化機制詳解