真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Redis中主從復(fù)制怎么用

這篇文章主要介紹了redis中主從復(fù)制怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)建站,專注為中小企業(yè)提供官網(wǎng)建設(shè)、營銷型網(wǎng)站制作、響應(yīng)式網(wǎng)站開發(fā)、展示型成都網(wǎng)站制作、網(wǎng)站建設(shè)等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營銷推廣問題。

Redis 主從復(fù)制(Master/Slave)

1.是什么:

    就是我們所說的主從復(fù)制,主機數(shù)據(jù)更新后根據(jù)配置和策略,自動同步到備機的master/slver機制,Master以寫為主,Slave以讀為主。

2.作用

讀寫分離、容災(zāi)恢復(fù)

3.怎么玩

3.1 配從(庫)不配主(庫)

3.2 從庫配置:slaveof主庫IP主庫端口

每次與master斷開之后,都需要重新連接,除非你配置進redis.conf文件

Info replication

redis.conf配置:

##設(shè)置當(dāng)本機為slav服務(wù)時,設(shè)置master服務(wù)的IP地址及端口,在Redis啟動時,它會自動從master進行數(shù)據(jù)同步

slaveof  

###當(dāng)master服務(wù)設(shè)置了密碼保護時,slav服務(wù)連接master的密碼

masterauth 

4 修改配置文件細(xì)節(jié)操作

  • 拷貝多個redis.conf文件

復(fù)制出三個配置文件,模擬三個redis服務(wù) 端口區(qū)別開

[root@VM_0_7_centos ~]# cd /myredis/
[root@VM_0_7_centos myredis]# ll
total 172
-rw-r--r-- 1 root root    92 Sep 18 21:38 dump.rdb
-rw-r--r-- 1 root root 82646 Sep 23 14:56 redis_aof.conf
-rw-r--r-- 1 root root 82645 Sep 23 10:37 redis.conf
[root@VM_0_7_centos myredis]# cp redis.conf redis6379.conf
[root@VM_0_7_centos myredis]# cp redis.conf redis6380.conf
[root@VM_0_7_centos myredis]# cp redis.conf redis6381.conf
  •  開啟 daemonize yes

  • Pid文件名字:

    pidfile redis6479.pid

  • 指定端口:

    port 6379

  • Log文件名字

    logfile 6379.log

  • Dump.rdb名字:

    dbfilename  dump6379.rdb

5 常用配置方式

5.1 一主二仆:

Redis中主從復(fù)制怎么用

按照上述方法復(fù)制出3個配置文件,

redis6379.conf ,redis6380.conf ,redis6381.conf

[root@VM_0_7_centos myredis]# ll
total 448
-rw-r--r-- 1 root root  5684 Sep 24 23:22 6379.log
-rw-r--r-- 1 root root  5683 Sep 24 23:08 9736.log
-rw-r--r-- 1 root root    92 Sep 24 23:22 dump6379.rdb
-rw-r--r-- 1 root root    92 Sep 24 23:08 dump9736.rdb
-rw-r--r-- 1 root root    92 Sep 18 21:38 dump.rdb
-rw-r--r-- 1 root root 82649 Sep 24 23:21 redis6379.conf
-rw-r--r-- 1 root root 82649 Sep 24 23:20 redis6380.conf
-rw-r--r-- 1 root root 82649 Sep 24 23:20 redis6381.conf
-rw-r--r-- 1 root root 82646 Sep 23 14:56 redis_aof.conf
-rw-r--r-- 1 root root 82645 Sep 23 10:37 redis.conf

分別啟動三臺服務(wù)器

[root@VM_0_7_centos myredis]# ps -ef |grep redis
root     31408     1  0 15:33 ?        00:00:00 redis-server 0.0.0.0:6379
root     31439 16305  0 15:34 pts/0    00:00:00 redis-cli -p 6379
root     31503     1  0 15:34 ?        00:00:00 redis-server 0.0.0.0:6380
root     31524 16394  0 15:34 pts/1    00:00:00 redis-cli -p 6380
root     31573     1  0 15:35 ?        00:00:00 redis-server 0.0.0.0:6381
root     31598 16451  0 15:35 pts/2    00:00:00 redis-cli -p 6381

三臺服務(wù)沒有數(shù)據(jù)

使用info replication 查看信息,三個服務(wù),沒有關(guān)聯(lián),都是master

Redis中主從復(fù)制怎么用

1.在主機填加數(shù)據(jù)

127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> set k3 v3
OK
127.0.0.1:6379> keys *
1) "k2"
2) "k3"
3) "k1"

2.在6380 和 6381 訂閱主機

127.0.0.1:6380> clear
127.0.0.1:6380> slaveof 127.0.0.1 6379
OK
127.0.0.1:6381> clear
127.0.0.1:6381> slaveof 127.0.0.1 6379
OK

3. 主機在從機訂閱后設(shè)置值,查看主從情況

從機訂閱后會復(fù)制主機全部信息

Redis中主從復(fù)制怎么用

4. 使用 info replication 查看主機 和從機 狀態(tài)

Redis中主從復(fù)制怎么用

5.只有主機能寫數(shù)據(jù)

Redis中主從復(fù)制怎么用

6.主機關(guān)閉后 ,從機角色不變 為 slave

Redis中主從復(fù)制怎么用

7. 主機重新開啟后,角色不變 仍然是 master

Redis中主從復(fù)制怎么用

8.從機與master 斷開之后,都需要重新連接,除非配置進redis.conf 文件

Redis中主從復(fù)制怎么用

5.2. 薪火相傳

特點:上一個Slave可以是下一個Slave的Master,Slave 同樣可以接收其他Slaves的連接和同步請求,那么該Slave作為了鏈條中下一個的master可以有效減輕master的寫壓力

中途變更轉(zhuǎn)向 會清除之前的數(shù)據(jù),重新建立拷貝最新的

Slaveof 新主庫IP 新主庫端口

Redis中主從復(fù)制怎么用

1. 建立鏈接

Redis中主從復(fù)制怎么用

2.測試 主從復(fù)制

Redis中主從復(fù)制怎么用

5.3.反客為主

關(guān)鍵命令

SLAVEOF NO ONE 使當(dāng)前數(shù)據(jù)庫停止與其他數(shù)據(jù)庫的同步,轉(zhuǎn)為主庫

1.以一主二從為基礎(chǔ)

Redis中主從復(fù)制怎么用

2.主機斷開后,從機 SLAVEOF NO ONE 轉(zhuǎn)為主庫

Redis中主從復(fù)制怎么用

3.從機6380 被6381 監(jiān)聽后成為主機,成功復(fù)制其值

Redis中主從復(fù)制怎么用

4. 如果原來6379重啟成功,已經(jīng)失去主機身份,不在集群內(nèi)。沒有集群內(nèi)的數(shù)據(jù)

Redis中主從復(fù)制怎么用

6. 復(fù)制原理

Slave啟動成功連接到master后會發(fā)送一個sync命令。

Master接到命令啟動后臺的存盤進程,同時收集所有接收到的用于修改數(shù)據(jù)集命令,在后臺進程執(zhí)行完畢之后,master將傳送整個數(shù)據(jù)文件到slave,以完成一次完全同步。

首次進行全量控制:而slave服務(wù)在接收到數(shù)據(jù)庫文件數(shù)據(jù)后,將其存盤并加載到內(nèi)存中。

增量控制:master繼續(xù)將新的所有收集到的修改命令一次傳給slave,完成同步

但是只要是重新連接master,一次完全同步(全量復(fù)制)將被自動執(zhí)行。

7. 哨兵模式(自動反客為主)

以一主二從為基礎(chǔ)。

反客為主的自動版,能夠后臺監(jiān)控主機是否故障,如果故障了根據(jù)投票數(shù)自動將從庫轉(zhuǎn)換為主庫

1.自定義的/myredis目錄下新建sentinel.conf文件,名字決不能錯。

2.內(nèi)容

sentinel monitor被監(jiān)控數(shù)據(jù)庫名字(自己起名字)127.0.0.1 6379 1

sentinel monitor host6379 127.0.0.1 6379 1

上面最后一個數(shù)字1,表示主機掛掉后slave投票看讓誰解題成為主機,得票數(shù)多的成為主機

3.啟動哨兵

Redis-sentinel  /myredis/sentinel.conf
[root@VM_0_7_centos myredis]# cd /usr/local/bin
[root@VM_0_7_centos bin]# ll
total 37824
-rw-r--r-- 1 root root     139 Sep 23 15:21 appendonly.aof
-rw-r--r-- 1 root root     125 Sep 23 16:00 dump.rdb
-rwxr-xr-x 1 root root 4739968 Jun 12 23:09 redis-benchmark
-rwxr-xr-x 1 root root 9634424 Jun 12 23:09 redis-check-aof
-rwxr-xr-x 1 root root 9634424 Jun 12 23:09 redis-check-rdb
-rwxr-xr-x 1 root root 5050384 Jun 12 23:09 redis-cli
lrwxrwxrwx 1 root root      12 Jun 12 23:09 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 9634424 Jun 12 23:09 redis-server
-rwxr-xr-x 1 root root    9840 Jun 12 22:55 tclsh8.6
[root@VM_0_7_centos bin]# redis-sentinel /myredis/sentinel.conf

Redis中主從復(fù)制怎么用

4.查看當(dāng)前數(shù)據(jù)

Redis中主從復(fù)制怎么用

5.關(guān)閉6379,稍等片刻選舉中新的主機 6381

Redis中主從復(fù)制怎么用

6. 6379重啟后,成為從機,監(jiān)聽6381

Redis中主從復(fù)制怎么用

7. 注意:一組sentinel能同時監(jiān)控多個Master

8. 復(fù)制的缺點

復(fù)制延時:由于所有的寫操作都是先在Master上操作,然后同步更新到Slave中,所以從Master同步到Slave機器有一定的延遲,當(dāng)系統(tǒng)很繁忙時,延遲問題會更加嚴(yán)重,Slave機器數(shù)量的增加也會使這個問題更加嚴(yán)重。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Redis中主從復(fù)制怎么用”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!


網(wǎng)站標(biāo)題:Redis中主從復(fù)制怎么用
網(wǎng)站鏈接:http://weahome.cn/article/pisgio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部