redis主從複制(心跳機制)
持久化保證了即使redis服務重新開機也會丢失資料,因為redis服務重新開機後會将硬碟上持久化的資料恢複到記憶體中,但是當redis伺服器的硬碟損壞了可能會導緻資料丢失,如果通過redis的主從複制機制就可以避免這種單點故障,如下圖:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuYjN1QmMjdDOwITZwEWOxIWOiljN5EmYmRTM4ITN2gzYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
說明:
1) 主redis中的資料有1個副本(replication)即從redis1,即使一台redis伺服器當機另一台redis也可以繼續提供服務,如果主伺服器(master)當機,從伺服器隻能做查詢功能,不能做新增和修改操作。
2) 主redis中的資料和從redis上的資料保持實時同步,當主redis寫入資料時通過主從複制機制會複制到從redis上。
3) 隻有一個主redis,可以有多個從redis。
4) 主從複制不會阻塞master,在同步資料時,master 可以繼續處理client 請求
5) 一個redis可以即是主又是從
6)從伺服器不間斷的向主redis發送ping,主伺服器如果沒有當機會回應從redis,PONG,如果從redis未收到主redis的回應,會直接作為主redis 替換掉當機的伺服器
主從配置:
主redis:無序配置
從redis
修改從redis伺服器上的redis.conf檔案,添加slaveof :主redis的ip+端口
如果在一台虛拟機上進行測試,一定要修改主從redis的端口,使其不一樣