婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解Redis復制原理

詳解Redis復制原理

熱門標簽:山東外呼銷售系統招商 北京400電話辦理收費標準 超呼電話機器人 鄭州人工智能電銷機器人系統 十堰營銷電銷機器人哪家便宜 宿遷便宜外呼系統平臺 魔獸2青云地圖標注 日本中國地圖標注 貴州電銷卡外呼系統

前言

本文主要介紹Redis復制機制

一.配置與實踐

配置

Redis實例分為主節點(master)和從節點(slave),默認情況下都是主節點。每一個從節點只能有一個主節點,但是每一個主節點可以有多個從節點(注意數量,多個從節點會導致主節點寫命令多次發送從而過度消耗網絡帶寬,可用樹狀結構降低主節點負載)。復制是單向的,只能從主節點復制到從節點。配置復制的方式由以下3種:

  • 在redis-slave.conf配置文件中加入slaveof {masterHost} {masterPort}
  • 在redis-server啟動命令后加入 --slaveof {masterHost} {masterPort}
  • 啟動后直接使用命令slaveof {masterHost} {masterPort}

綜上,Redis支持在啟動之前配置,也支持運行中動態配置。

實踐

我們用動態配置的方法來配置,先起一個端口為6379的Redis實例,作為主節點:

redis-server /usr/local/Cellar/redis/4.0.9/.bottle/etc/redis.conf

再起一個端口為6380的Redis實例,作為6379的從節點:

redis-server /usr/local/Cellar/redis/4.0.9/.bottle/etc/redis-slave.conf

用客戶端連到從節點,使用slaveof命令,slaveof配置都是在從節點發起的。

127.0.0.1:6380> slaveof 127.0.0.1 6379

OK

從節點日志:

75585:S 06 May 16:27:50.389 * Connecting to MASTER 127.0.0.1:6379

75585:S 06 May 16:27:50.389 * MASTER -> SLAVE sync started

75585:S 06 May 16:27:50.390 * Non blocking connect for SYNC fired the event.

75585:S 06 May 16:27:50.390 * Master replied to PING, replication can continue...

75585:S 06 May 16:27:50.390 * Trying a partial resynchronization (request 47770067272eb8101489fe7c00c8e838125c3aa3:1).

75585:S 06 May 16:27:50.392 * Full resync from master: e91e683b1e13332f97ecb9fa90ecdace460ab4ca:0

75585:S 06 May 16:27:50.392 * Discarding previously cached master state.

75585:S 06 May 16:27:50.491 * MASTER -> SLAVE sync: receiving 215 bytes from master

75585:S 06 May 16:27:50.492 * MASTER -> SLAVE sync: Flushing old data

75585:S 06 May 16:27:50.492 * MASTER -> SLAVE sync: Loading DB in memory

75585:S 06 May 16:27:50.492 * MASTER -> SLAVE sync: Finished with success

主節點日志:

75553:M 06 May 16:27:50.391 * Slave 127.0.0.1:6380 asks for synchronization

75553:M 06 May 16:27:50.391 * Partial resynchronization not accepted: Replication ID mismatch (Slave asked for '47770067272eb8101489fe7c00c8e838125c3aa3', my replication IDs are '160af1c75f86edc50186e3e4a4dc6ecb5e3fa586' and '0000000000000000000000000000000000000000')

75553:M 06 May 16:27:50.391 * Starting BGSAVE for SYNC with target: disk

75553:M 06 May 16:27:50.391 * Background saving started by pid 75675

75675:C 06 May 16:27:50.395 * DB saved on disk

75553:M 06 May 16:27:50.490 * Background saving terminated with success

75553:M 06 May 16:27:50.491 * Synchronization with slave 127.0.0.1:6380 succeeded

可以看到,第一次建立復制關系的時候,主節點和從節點進行了一次全量復制,見圖:

當完成復制的建立之后,接下來主節點會持續的把寫命令發送給從節點,保證主從數據一致。

在主實例上添加新的key:

127.0.0.1:6379> set Lin 112131

OK

在從實例查看剛剛添加的key:

127.0.0.1:6380> get Lin

"112131"

只讀

由于復制只能從主節點到從節點,對于從節點的數據修改主節點無法感知,為了避免主從實例之間的數據不一致。從節點默認配置為只讀模式:

slave-read-only yes

二.工作原理

我們先講3個比較關鍵的參數:master_replid、master_repl_offset和slave_repl_offset。我們分別在master6379和slave6380上執行info replication

127.0.0.1:6379> info replication

# Replication

role:master

connected_slaves:1

slave0:ip=127.0.0.1,port=6380,state=online,offset=1093,lag=1

master_replid:e91e683b1e13332f97ecb9fa90ecdace460ab4ca

master_replid2:0000000000000000000000000000000000000000

master_repl_offset:1093

second_repl_offset:-1

repl_backlog_active:1

repl_backlog_size:1048576

repl_backlog_first_byte_offset:1

repl_backlog_histlen:1093

127.0.0.1:6380> info replication

# Replication

role:slave

master_host:127.0.0.1

master_port:6379

master_link_status:up

master_last_io_seconds_ago:9

master_sync_in_progress:0

slave_repl_offset:1107

slave_priority:100

slave_read_only:1

connected_slaves:0

master_replid:e91e683b1e13332f97ecb9fa90ecdace460ab4ca

master_replid2:0000000000000000000000000000000000000000

master_repl_offset:1107

second_repl_offset:-1

repl_backlog_active:1

repl_backlog_size:1048576

repl_backlog_first_byte_offset:1

repl_backlog_histlen:1107

master_replid是master啟動時生成的隨機字符串,用來標識主實例

master_repl_offset是復制流中的一個偏移量,master處理完寫入命令后,會把命令的字節長度做累加記錄,統計在該字段。該字段也是實現部分復制的關鍵字段。

slave_repl_offset同樣也是一個偏移量,從節點收到主節點發送的命令后,累加自身的偏移量,通過比較主從節點的復制偏移量可以判斷主從節點數據是否一致。

當從實例連接到主實例時,從實例會發送master_replid和master_repl_offset(標識與主實例同步的最后一個快照)請求部分復制。如果主實例接收部分復制的話則從最后一個偏移量開始增量進行部分復制,否則將進行全量復制。如圖:

三.數據同步

Redis在2.8之前使用sync命令完成主從數據同步,Redis在2.8及以上使用psync命令完成主從數據同步,同步過程分為:全量復制和部分復制

全量復制

全量復制是Redis最早支持的復制方式,也是主從第一次建立復制的時候必須經歷的。它會把主節點全部數據一次性發送給從節點,當數據量較大的時候,會對主從節點和網絡造成很大開銷。主節點執行bgsave保存RDB文件,然后將這個文件發送給從節點,從節點收到RDB文件后,會先將內存中的所有數據清除,然后再將RDB文件中的數據導入。

主實例在復制過程中是完全異步的,因此不會阻塞主節點的請求。在這一期間內主節點的所有寫入命令數據都保存在從客戶端緩沖區(slave client buffer)內,在從節點加載完RDB文件后,主節點會將這個緩沖區的內容發送給從節點。

從客戶端緩沖區默認大小限制為:

client-output-buffer-limit slave 256mb 64mb 60

意思是如果60秒內緩沖區消耗持續大于64MB或者直接超過256MB時,主節點將直接關閉復制客戶端連接,造成全量同步失敗。

部分復制

在高版本的Redis實現中,master_replid和offset存儲在RDB文件中。當從實例在復制過程中,因網絡閃斷等原因造成的數據丟失場景,Redis能夠從rdb文件中重新加載master_replid和offset,從而使部分重新同步成為可能。因為補發的數據遠小于全量數據,所以可以有效的避免全量復制帶來的負載和消耗。

之前說過,從節點連接主節點之后,會使用master_replid和master_repl_offset請求主節點,首先判斷master_replid是否和自己的master_replid一致,然后檢查請求中的master_repl_offset是否能從緩沖區(replication backlog)中獲取,如果偏移量在backlog范圍內,那么可以進行部分復制。如果在斷開連接期間主節點收到的寫入命令的數量超過了backlog緩沖區的容量,那么會進行全量復制。默認情況下backlog為1MB。

以上就是詳解Redis復制原理的詳細內容,更多關于Redis復制原理的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 淺談Redis主從復制以及主從復制原理
  • 詳解Redis主從復制實踐
  • Redis持久化與主從復制的實踐
  • 使用Docker搭建Redis主從復制的集群
  • Redis全量復制與部分復制示例詳解
  • redis主從復制原理的深入講解
  • Redis主從復制詳解
  • CentoS6.5環境下redis4.0.1(stable)安裝和主從復制配置方法
  • Redis教程(九):主從復制配置實例

標簽:大慶 果洛 江蘇 臺州 北京 楊凌 吉安 朝陽

巨人網絡通訊聲明:本文標題《詳解Redis復制原理》,本文關鍵詞  詳解,Redis,復制,原理,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解Redis復制原理》相關的同類信息!
  • 本頁收集關于詳解Redis復制原理的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产一区二区三区在线观看精品| 欧美激情资源网| 日本视频一区二区三区| 亚洲男人天堂一区| 中文字幕乱码久久午夜不卡| 日本亚洲免费观看| 美女被吸乳得到大胸91| 久久免费电影网| 欧美色欧美亚洲另类二区| 91欧美激情一区二区三区成人| 久久国产精品无码网站| 国产一区二区免费看| 99在线精品免费| 在线不卡中文字幕| 日本最新不卡在线| 精品一区二区三区久久久| 精品一区二区三区久久| 国产一区二区三区蝌蚪| 亚洲免费av高清| 亚洲激情在线播放| 欧亚洲嫩模精品一区三区| 免费成人av在线| 色老汉一区二区三区| 日韩女优视频免费观看| 亚洲人成精品久久久久久| 免费观看在线综合色| 色哟哟精品一区| 中文字幕成人av| 亚洲aaa精品| 成人av免费在线观看| 久久久高清一区二区三区| 亚洲专区一二三| www.亚洲在线| 亚洲精品一区二区三区精华液| 国产午夜精品久久| 精品一区二区三区欧美| 555www色欧美视频| 一区二区在线观看免费| 在线亚洲+欧美+日本专区| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲成人资源在线| 色狠狠av一区二区三区| 国产ts人妖一区二区| 亚洲国产成人91porn| 精品国产凹凸成av人网站| 在线不卡中文字幕播放| 欧美精品三级日韩久久| 欧美偷拍一区二区| 日本高清不卡视频| 欧美日韩亚洲综合| 欧美电影免费观看高清完整版 | 久久99精品国产麻豆不卡| 丝袜美腿亚洲一区二区图片| 六月丁香婷婷久久| 91丨porny丨首页| 欧美一级淫片007| 欧美一卡二卡在线| 国产精品免费看片| 视频一区二区不卡| 成人黄色国产精品网站大全在线免费观看| 91丨九色porny丨蝌蚪| 日韩免费看网站| 成人欧美一区二区三区视频网页| 五月天亚洲精品| 懂色av中文一区二区三区| 欧美丰满少妇xxxxx高潮对白 | 欧美一区二区三区小说| 久久久久久一二三区| 成人午夜精品一区二区三区| 欧美日本免费一区二区三区| 亚洲国产精品久久不卡毛片| 91精品福利视频| 韩国一区二区在线观看| 欧美哺乳videos| 国产大片一区二区| 亚洲欧美日韩国产另类专区 | 欧美刺激午夜性久久久久久久| 日韩av网站在线观看| 欧美高清激情brazzers| 日韩高清不卡在线| 26uuu亚洲综合色| 91在线一区二区三区| 亚洲男帅同性gay1069| 国产激情视频一区二区在线观看| 粉嫩绯色av一区二区在线观看| 欧美在线不卡一区| 免费人成黄页网站在线一区二区| 亚洲午夜电影网| 91福利视频在线| 色中色一区二区| 欧美一区二区三区公司| 一区二区三区视频在线看| 国产精品一区在线| 精品成人在线观看| 久久国产剧场电影| 精品国产乱码久久久久久免费| 日韩高清一级片| 69久久夜色精品国产69蝌蚪网| 亚洲国产日产av| 91福利视频在线| 一级精品视频在线观看宜春院| 91美女福利视频| 亚洲精品日日夜夜| 91久久国产综合久久| 亚洲午夜精品一区二区三区他趣| 91蜜桃婷婷狠狠久久综合9色| 国产精品三级在线观看| 国产高清精品在线| 日韩激情在线观看| 欧美激情一区二区三区| 91在线视频官网| voyeur盗摄精品| 亚洲欧洲韩国日本视频| 99国产精品久久| 一区二区三区日韩精品视频| 色丁香久综合在线久综合在线观看| 国产亚洲欧美日韩日本| 国产成人精品一区二区三区网站观看| 欧美韩国日本综合| 欧美亚洲综合在线| 久久99精品久久只有精品| 久久久另类综合| 91老师国产黑色丝袜在线| 日韩国产一区二| 国产精品欧美一区喷水| 欧美日韩国产一级二级| 国产精品99久久久| 亚洲一区二区三区国产| 2021久久国产精品不只是精品| 91首页免费视频| 久久国产精品色| 一区二区三区在线视频播放| 日韩一区二区三| 91麻豆成人久久精品二区三区| 蜜桃av一区二区在线观看| 中文字幕制服丝袜一区二区三区| 欧美视频中文一区二区三区在线观看| 国内外成人在线| 性欧美疯狂xxxxbbbb| 国产精品妹子av| 91麻豆精品国产91久久久资源速度 | 日韩中文字幕麻豆| 国产精品亲子乱子伦xxxx裸| 欧美一区三区二区| 不卡一区二区中文字幕| 久久99深爱久久99精品| 亚洲影视在线观看| 中文字幕欧美三区| 日韩美女在线视频| 欧美日韩中文精品| 成人在线视频一区| 伦理电影国产精品| 亚洲aⅴ怡春院| 亚洲影视在线播放| 亚洲欧美日韩精品久久久久| 国产女同互慰高潮91漫画| 日韩欧美一区电影| 91精品在线观看入口| 欧美自拍丝袜亚洲| 91美女福利视频| 成人精品亚洲人成在线| 国产在线播放一区三区四| 日日摸夜夜添夜夜添亚洲女人| 国产免费久久精品| 久久综合久久综合久久| 精品久久人人做人人爰| 555夜色666亚洲国产免| 精品视频一区二区三区免费| 99久久久国产精品| jlzzjlzz亚洲日本少妇| 国产成人精品免费在线| 国产成人午夜片在线观看高清观看| 秋霞午夜av一区二区三区| 日本亚洲视频在线| 久久成人羞羞网站| 精品一区二区三区在线播放视频| 人人超碰91尤物精品国产| 奇米888四色在线精品| 看电视剧不卡顿的网站| 韩国一区二区三区| 国产不卡视频在线播放| 成人app在线观看| 色噜噜狠狠一区二区三区果冻| 91在线云播放| 欧美中文字幕不卡| 欧美视频在线不卡| 日韩欧美一二三区| 国产农村妇女毛片精品久久麻豆| 自拍偷拍国产亚洲| 亚洲一区二三区| 美美哒免费高清在线观看视频一区二区 | 国产亚洲午夜高清国产拍精品| 精品国产a毛片| 国产精品女上位| 亚洲综合一区二区三区| 丝袜美腿亚洲一区二区图片| 久久99精品国产麻豆不卡| 成人aaaa免费全部观看| 欧美日韩视频在线一区二区 | 亚洲三级电影全部在线观看高清|