日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis-18Redis主从同步

發布時間:2025/3/21 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis-18Redis主从同步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 概述
  • 主從同步
  • Redis主從同步配置
    • 主服務器
    • 從服務器
  • Redis主從同步過程
  • 缺點

概述

盡管 Redis 的性能很好,但是有時候依舊滿足不了應用的需要,比如過多的用戶進入主頁,導致 Redis 被頻繁訪問,此時就存在大量的讀操作。顯然單靠一臺 Redis 服務器是完全不夠用的 當主服務器不能正常工作的時候,我們希望從服務器代替原來的主服務器,作為災備,以保證系統可以繼續正常的工作 。


主從同步

所謂主從架構設計的思路大概是:

  • 在多臺數據服務器中,只有一臺主服務器,而主服務器只負責寫入數據,不負責讓外部程序讀取數據。
  • 存在多臺從服務器,從服務器不寫入數據,只負責同步主服務器的數據,并讓外部
    程序讀取數據。
  • 主服務器在寫入數據后,即刻將寫入數據的命令發送給從服務器,從而使得主從數
    據同步。
  • 應用程序可以隨機讀取某一臺從服務器 的數據, 這樣就分攤了讀數據的壓力。
  • 當從服務器不能工作的時候,整個系統將不受影響: 當主服務器不能工作的時候,
    可以方便地從從服務器中選舉一臺來當主服務器 。

這只是一種大概的思路, 每一種數據存儲的軟件都會根據其自身的特點對上面的這幾點思路加以改造,但是萬變不離其宗 , 只要理解了這幾點就很好理解 Redis 的復制機制。

這個時候讀數據就可以隨機從從服務器上讀取,當從服務器是多臺的時候,那么單臺服務器的壓力就大大降低了,這十分有利于系統性能的提高, 當主服務器出現不能工作的情況時,也可以切換為其中的一臺從服務器繼續讓系統穩定運行,所以也有利于系統運行的安全性。當然由于 Redis 自身具備的特點,所以其也有實現主從同步的特殊方式。


Redis主從同步配置

對 Redis 進行主從同步的配置分為主機與從機,主機是一臺,而從機可以是多臺 .

主服務器

首先,明確主機。當你能確定哪臺機子是主機的時候,關鍵的兩個配置是 dir和dbfilename 選項, 當然必須保證這兩個文件是可寫的。

對于 Redis 的 默認配置而言, dir 的默認值為“./”,而對于 dbfilename 的默認值為“ dump.rbd ”。換句話說,默認采用 Redis當前目錄的 dump.rbd 文件進行同步。

對于主機而言,只要了解這多信息,很簡單 。


從服務器

其次 , 在明確了從機之后,進行進一步配置所要關注的只有 slaveof這個配置選項,它的配置格式是 :

slaveof server port

其中 server 代表主機,port代表端口。

當從機 Redis 服務重啟 時,就會同步對應主機的數據了。當不想讓從機繼續復制主機的數據時,可以在從機的 Redis 命令客戶端發送slaveof no one 命令,這樣從機就不會再接收主服務器的數據更新了。

又或者原來主服務器已經無法工作了,而你可能需要去復制新的主機,這個時候執行 slaveof sever port 就能讓從機復制另外一臺主機的數據了。

在實際的 Linux 環境中,配置文件 redis.conf 中還有一個 bind 的配置 , 默認為 127 .0 .0.1,也就是只允許本機訪 問 ,把它修改為 bind 0.0.0.0,其他的服務器就能夠訪 問了 .


Redis主從同步過程

  • 無論如何要先保證主服務器的開啟,開啟主服務器后,從服務器通過命令或重啟配置項可以同步到主服務器。
  • 當從服務器啟動時,讀取同步的配置,根據配置決定是否使用當前數據響應客戶端,然后發送 SYNC 命令。當主服務器接收到同步命令的時候,就會執行 bgsave 命令備份數據,但是主服務器并不會拒絕客戶端的讀/寫,而是將來自客戶端的寫命令寫入緩沖區 。從服務器未收到主服務器備份的快照文件的時候,會根據其配置決定使用現有數據響應客戶端或者拒絕。
  • 當 bgsave 命令被主服務器執行完后,開始向從服務器發送備份文件,這個時候從服務器就會丟棄所有現有的數據,開始載入發送的快照文件。
  • 當主服務器發送完備份文件后,從服務器就會執行這些寫入命令。此時就會把bgsave 執行之后的緩存區內的寫命令也發送給從服務器,從服務完成備份文件解析,就開始像往常一樣,接收命令,等待命令寫入。
  • 緩沖區的命令發送完成后,當主服務器執行一條寫命令后,就同時往從服務器發送同步寫入命令,從服務器就和主服務器保持一致了。而此時當從服務器完成主服務器發送的緩沖區命令后,就開始等待主服務器的命令了。
  • 以上 5 步就是 Redis 主從同步的過程。

    只是在主服務器同步到從服務器的過程中,需要備份文件,所以在配置的時候一般需要預留 一些內存空間給主服務器,用以騰出空間執行備份命令。 一般來說主服務器使用50%~65%的內存空間 ,以為 主從復制留下可用的內存空間。


    缺點

    主從切換技術的方法是: 當主服務器右機后,需要手動把一臺從服務器切換為主從服務器,這就需要人工干預,既費時費力,汪會造成一段時間內服務不可用,更多的時候,我們優先考慮Redis的哨兵模式。

    總結

    以上是生活随笔為你收集整理的Redis-18Redis主从同步的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。