麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > Redis > 正文

Redis主從同步,讀寫分離設(shè)置 的相關(guān)操作

2020-03-22 19:10:46
字體:
供稿:網(wǎng)友
本文介紹使用Redis的主從同步功能(master, slave),使程序?qū)崿F(xiàn)讀寫分離,避免io瓶頸,提高數(shù)據(jù)讀寫效率。

Redis支持一個(gè)master服務(wù)器對多個(gè)slave服務(wù)器同步,同步使用發(fā)布/訂閱機(jī)制。
1個(gè)master對多個(gè)slave,還可以進(jìn)行分層,每個(gè)slave下可以再同步slave,擴(kuò)展成樹狀結(jié)構(gòu)。

Redis 主從同步設(shè)置

Redis默認(rèn)的端口是6379,我們?yōu)榱瞬挥绊懺蠷edis,使用新的端口

master 配置 redis_master.conf

port 6300requirepass 123456masterauth 123456daemonize yes


slave1 配置 redis_slave1.conf 設(shè)為master的slave

port 6301slaveof 127.0.0.1 6300requirepass 123456masterauth 123456daemonize yes


slave2 配置 redis_slave2.conf 設(shè)為master的slave

port 6302slaveof 127.0.0.1 6300requirepass 123456masterauth 123456daemonize yes

daemonize 表示后臺啟動。
requirepass 為主機(jī)認(rèn)證密碼。
masterauth 為從機(jī)訪問主機(jī)驗(yàn)證密碼,需要與主機(jī)的requirepass一致。
因后面需要演示主從切換,因此三組conf的驗(yàn)證密碼都一致。

Redis 主從同步測試

依次啟動master, slave1, slave2

redis-server redis_master.confredis-server redis_slave1.confredis-server redis_slave2.conf

執(zhí)行后查看是否啟動成功

ps aux|grep redisroot 1858 Ss 3:55 0:00.01 redis-server *:6302 root 1849 Ss 3:54 0:00.01 redis-server *:6301 root 1842 Ss 3:54 0:00.02 redis-server *:6300

進(jìn)入master,設(shè)置key abc的值為123

redis-cli -p 6300127.0.0.1:6300 auth 123456OK127.0.0.1:6300 set abc 123OK127.0.0.1:6300 get abc 123 

分別進(jìn)入slave1, slave2檢查是否同步數(shù)據(jù)
slave1:

redis-cli -p 6301127.0.0.1:6301 auth 123456OK127.0.0.1:6301 get abc 123 127.0.0.1:6301 

slave2:

redis-cli -p 6302127.0.0.1:6302 auth 123456OK127.0.0.1:6302 get abc 123 127.0.0.1:6302 

進(jìn)入master修改key abc的值為456

127.0.0.1:6300 set abc 456OK127.0.0.1:6300 get abc 456 

檢查slave1, slave2是否同步
slave1:

127.0.0.1:6301 get abc 456 

slave2:

127.0.0.1:6302 get abc 456 
Redis主從切換

在運(yùn)行過程中,如果master出現(xiàn)問題,我們可以通過設(shè)置,把另一臺slave機(jī)自動設(shè)為master使用。這里主要用到Redis的sentinel功能來實(shí)現(xiàn)主從切換。

sentinel1.conf

port 26301sentinel monitor master 127.0.0.1 6300 2sentinel auth-pass master 123456logfile /tmp/sentinel.log daemonize yes

sentinel2.conf

port 26302sentinel monitor master 127.0.0.1 6300 2sentinel auth-pass master 123456logfile /tmp/sentinel.log daemonize yes

sentinel monitor master 127.0.0.1 6300 2 中的 2 表示有2個(gè)以上的sentinel服務(wù)檢測到master失效,才會執(zhí)行主從切換。

啟動兩個(gè)sentinel進(jìn)程

redis-server sentinel1.conf --sentinelredis-server sentinel2.conf --sentinelps aux|grep redisroot 2643 Ss 4:28 0:00.02 redis-server *:26302 [sentinel] root 2636 Ss 4:28 0:00.02 redis-server *:26301 [sentinel]

Redis日志可以看到,啟動成功開始監(jiān)控

Running mode=sentinel, port=26301.Sentinel ID is 3a23343948cd7f26662ccba1d01b92955311ef52+monitor master master 127.0.0.1 6300 quorum 2+slave slave 127.0.0.1:6301 127.0.0.1 6301 @ master 127.0.0.1 6300+slave slave 127.0.0.1:6302 127.0.0.1 6302 @ master 127.0.0.1 6300Running mode=sentinel, port=26302.Sentinel ID is ce0ee2af6b454205a3e475763945f505a10a7d6a+monitor master master 127.0.0.1 6300 quorum 2+slave slave 127.0.0.1:6301 127.0.0.1 6301 @ master 127.0.0.1 6300+slave slave 127.0.0.1:6302 127.0.0.1 6302 @ master 127.0.0.1 6300+sentinel sentinel 3a23343948cd7f26662ccba1d01b92955311ef52 127.0.0.1 26301 @ master 127.0.0.1 6300+sentinel sentinel ce0ee2af6b454205a3e475763945f505a10a7d6a 127.0.0.1 26302 @ master 127.0.0.1 6300

終止master,測試主從切換

kill master進(jìn)程后,sentinel判斷master失效,執(zhí)行主從切換處理。

日志如下:

+failover-state-reconf-slaves master master 127.0.0.1 6300+slave-reconf-sent slave 127.0.0.1:6301 127.0.0.1 6301 @ master 127.0.0.1 6300+config-update-from sentinel 3a23343948cd7f26662ccba1d01b92955311ef52 127.0.0.1 26301 +switch-master master 127.0.0.1 6300 127.0.0.1 6302+slave slave 127.0.0.1:6301 127.0.0.1 6301 @ master 127.0.0.1 6302+slave slave 127.0.0.1:6300 127.0.0.1 6300 @ master 127.0.0.1 6302-odown master master 127.0.0.1 6300+slave-reconf-inprog slave 127.0.0.1:6301 127.0.0.1 6301 @ master 127.0.0.1 6300+slave-reconf-done slave 127.0.0.1:6301 127.0.0.1 6301 @ master 127.0.0.1 6300+failover-end master master 127.0.0.1 6300+switch-master master 127.0.0.1 6300 127.0.0.1 6302+convert-to-slave slave 127.0.0.1:6300 127.0.0.1 6300 @ master 127.0.0.1 6302

從日志可以看出,主從切換執(zhí)行了以下操作:

1.將slave2切換為新的master,redis_slave2.conf 中的 slaveof 127.0.0.1 6300 被自動刪除。

2.將redis_slave1.conf的 slaveof 127.0.0.1 6300 自動更新為 slaveof 127.0.0.1 6302,使用slave2作為新的master。

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 激情小视频在线观看 | 日日狠狠久久偷偷四色综合免费 | 国产在线精品91 | 国产免费观看电影网站 | 羞羞视频免费网站日本动漫 | h色视频网站 | 中文字幕在线观看国产 | 欧美大胆xxxx肉体摄影 | 国产高潮好爽受不了了夜色 | 成年人激情在线 | 欧美久久一区二区 | 蜜桃一本色道久久综合亚洲精品冫 | 国产剧情在线观看一区二区 | 最污网站 | 一区二区三区在线观看免费视频 | 一级片九九 | 久久亚洲春色中文字幕久久 | av手机在线免费播放 | 国产一区在线观看视频 | 欧美成人免费在线视频 | 国产三级午夜理伦三级 | 国产成年人视频 | 国产成人综合在线视频 | 黄色一级片在线观看 | 国产精品久久久久久婷婷天堂 | 亚洲精品久久久久www | 黄色免费在线视频网站 | 色淫视频 | 性爱视频在线免费 | 日本欧美在线播放 | 国产成人精品免费视频大全最热 | 国产一级免费片 | 亚洲第一色婷婷 | 最新se94se在线欧美 | 亚洲成人国产综合 | 91av网址 | 黄色免费av网站 | 欧美jizzhd极品欧美 | 欧美日本中文字幕 | 久久久久久久久亚洲精品 | 一级大黄毛片 |