91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis主從復制看這篇就夠了

發布時間:2020-08-07 02:37:56 來源:ITPUB博客 閱讀:137 作者:Java大蝸牛 欄目:編程語言

什么是主從復制

持久化保證了即使 redis 服務重啟也會丟失數據,因為 redis 服務重啟后會將硬盤上持久化的數據恢復到內存中,但是當 redis 服務器的硬盤損壞了可能會導致數據丟失,如果通過 redis 的主從復制機制就可以避免這種單點故障,如下圖:

Redis主從復制看這篇就夠了

 

說明:

  • 主 redis 中的數據有兩個副本(replication)即從 redis1 和從 redis2,即使一臺 redis 服務器宕機其它兩臺 redis 服務也可以繼續提供服務。

  • 主 redis 中的數據和從 redis 上的數據保持實時同步,當主 redis 寫入數據時通過主從復制機制會復制到兩個從 redis 服務上。

  • 只有一個主 redis,可以有多個從 redis。

  • 主從復制不會阻塞 master,在同步數據時,master 可以繼續處理 client 請求。

  • 一個 redis 可以即是主又是從,如下圖:

Redis主從復制看這篇就夠了

 

  •  

主從配置

1、主 redis 配置

無需特殊配置。

2、從redis配置

修改從 redis 服務器上的 redis.conf 文件,添加 slaveof 主 redisip 主 redis 端口。

Redis主從復制看這篇就夠了

 

上邊的配置說明當前該從 redis 服務器所對應的主 redis 是192.168.101.3,端口是6379。

主從復制過程

1、完整復制過程

在 redis2.8 版本之前主從復制過程如下圖:

Redis主從復制看這篇就夠了

 

復制過程說明:

  1. slave 服務啟動,slave 會建立和 master 的連接,發送 sync 命令。

  2. master 啟動一個后臺進程將數據庫快照保存到 RDB 文件中

注意:此時如果生成 RDB 文件過程中存在寫數據操作會導致 RDB 文件和當前主 redis 數據不一致,所以此時 master 主進程會開始收集寫命令并緩存起來。

  1. master 就發送 RDB 文件給 slave

  2. slave 將文件保存到磁盤上,然后加載到內存恢復

  3. master 把緩存的命令轉發給 slave

注意:后續 master 收到的寫命令都會通過開始建立的連接發送給 slave。

當 master 和 slave 的連接斷開時 slave 可以自動重新建立連接。如果 master 同時收到多個 slave 發來的同步連接命令,只會啟動一個進程來寫數據庫鏡像,然后發送給所有 slave。

完整復制的問題:

在 redis2.8 之前從 redis 每次同步都會從主 redis 中復制全部的數據,如果從 redis 是新創建的從主 redis 中復制全部的數據這是沒有問題的,但是,如果當從 redis 停止運行,再啟動時可能只有少部分數據和主 redis 不同步,此時啟動 redis 仍然會從主 redis 復制全部數據,這樣的性能肯定沒有只復制那一小部分不同步的數據高。

2、部分復制

Redis主從復制看這篇就夠了

 

部分復制說明:

從機連接主機后,會主動發起 PSYNC 命令,從機會提供 master 的 runid(機器標識,隨機生成的一個串) 和 offset(數據偏移量,如果offset主從不一致則說明數據不同步),主機驗證 runid 和 offset 是否有效,runid 相當于主機身份驗證碼,用來驗證從機上一次連接的主機,如果 runid 驗證未通過則,則進行全同步,如果驗證通過則說明曾經同步過,根據 offset 同步部分數據。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清水县| 江北区| 泗水县| 烟台市| 井冈山市| 额尔古纳市| 富川| 娄底市| 三江| 武乡县| 安陆市| 肥乡县| 嘉鱼县| 海南省| 镇巴县| 嘉峪关市| 杭锦旗| 博爱县| 泸溪县| 城口县| 稻城县| 龙州县| 沅陵县| 濮阳市| 阿鲁科尔沁旗| 卢氏县| 辽阳市| 白银市| 嘉义市| 绵阳市| 克东县| 崇礼县| 通山县| 香格里拉县| 仪陇县| 旌德县| 榕江县| 翁牛特旗| 锦屏县| 鄂托克前旗| 鄂州市|