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

歡迎訪問 生活随笔!

生活随笔

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

数据库

实现redis 手动_Redis精华所在,一口气说完Redis的主从复制和哨兵模式

發布時間:2025/3/19 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实现redis 手动_Redis精华所在,一口气说完Redis的主从复制和哨兵模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主從復制概念

主從復制指將一臺redis的數據復制另外一臺redis服務器上,前者稱為主節點(master),后者稱為從節點(slave)。

注意復制的過程是單向的,只能從主節點到從節點,主節點以寫為主,從節點以讀為主。

主從復制的作用

數據冗余:主從復制實現了數據的熱備份

故障恢復:當主節點出現問題時,可以由從節點提供服務,快速恢復故障

負載均衡:主節點復制寫數據,從節點負責讀數據,實現讀寫分離分擔服務器負載。

最常見的主從復制架構如下圖所示

手動實現主從復制

開啟三個redis服務,例如開啟三個端口分別為6379、6380、6381三臺redis服務,未設置誰是主節點之前,默認每臺服務都是主節點的,

info replication #查看節點信息

這里為了演示所以配置了偽集群,即一臺機器啟動三個redis服務,只是不同端口。注意啟動6380和6381需要增加一個redis配置文件,例如啟動6380時復制一份redis.conf修改名字為redis6380.conf,然后修改配置文件中的以下幾個地方。

daemonize yes #后臺啟動修改為yes

pidfile /var/run/redis_6380.pid #修改進程文件的名稱

logfile "6380.log" #日志文件的名稱

dbfilename dump6380.rdb #rdb文件的名稱

port 6380 #端口號

使用命令查看啟動好的redis

ps -ef|grep redis

正式配置一主二從

因為redis啟動默認是主節點,所以主需要將6380和6379的設置為6379的從節點就行了,設置redis6380的主節點為6379,使用slaveof [主節點IP] [主節點端口]

slaveof 127.0.0.1 6379

使用同樣的方式設置6381,最后回到主節點6379進行查看節點信息

至此我們就把一主二從的架構的配置好了,下面測試一下,主機寫入數據后,會不會將數據自動同步到從機中。

主機設置一個key為test1

從機進行獲取test1

進過測試,沒問題,大功告成!

你以為這就完了么,有的同學會問,當主機掛了會怎么樣,這個問題問的好。這種手動模式的一主二從架構,當主機掛了之后需要人為的手動重新設置一個主機,才能正常工作。說到這里,是不是會覺得這也太low了吧,講這個有啥用,其實講這個是為了讓你清楚主從復制真正的工作原理。那么為了解決這個當主機掛了,需要手動重新設置一個主節點的問題,就需要使用我們的哨兵模式。

什么是哨兵

顧名思義,哨兵就是用來巡邏檢查的,哨兵每隔一段時間會向redis發送命令,等待redis響應,如果得不到響應,此時這個哨兵會認為這臺redis服務以掛掉。一般情況會啟動多個哨兵,判斷redis主機是否掛掉,哨兵會進行投票。例如啟動三個哨兵,其中有兩個哨兵認為當前redis主機以掛掉,一個認為沒有,那么2:1,那可以認為當前redis掛掉了。當主節點掛掉后,哨兵會通過投票的方式重新選舉一個主機。

哨兵的作用

通過發送命令,讓redis服務器返回運行狀態,包括主服務器和從服務器。

當哨兵檢測到master宕機后,會通過投票選舉新的master,然后通過發布訂閱模式通知其它從機切換主機。

配置哨兵

在/opt/redis-6.0.7/myconf目錄下添加哨兵配置文件 sentinel.conf內容如下

sentinel monitor myredis 127.0.0.1 6379 1

意思監控master,后面的1表示當master掛了后是否發起投票。

開啟一個終端,進入redis目錄

啟動哨兵:./src/redis-sentinel myconf/sentinel.conf

下面測試如果master宕機了,會不會重新選舉一個新的master。

現在手動把master關掉,等待幾秒鐘可以看到master主機變成了6380

如果此時原來的主機恢復正常了呢,會不會重新這是其為master,答案是否定的,原來的主機恢復正常后,只能作為新主機的從節點。

好了,寫了這么多終于把redis的注冊復制寫完了!

------------------------------------------------END-----------------------------------------------------------------

你的一個贊一個關注是我創作的動力,是我持續輸出的能量源泉,老鐵關注一波吧!

總結

以上是生活随笔為你收集整理的实现redis 手动_Redis精华所在,一口气说完Redis的主从复制和哨兵模式的全部內容,希望文章能夠幫你解決所遇到的問題。

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