Redis主從同步原理解析(實(shí)驗(yàn))

redis主從同步原理

創(chuàng)新新互聯(lián),憑借十余年的網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站經(jīng)驗(yàn),本著真心·誠心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有上1000+案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)公司

? ? ? ? 在主從數(shù)據(jù)同步過程中,

? ? ? ? master只在第一次同步時(shí)創(chuàng)建了RDB文件,用此做基礎(chǔ)進(jìn)行同步。

? ? ? ? 之后的同步,都是通過增量傳輸命令的方式(AOF)進(jìn)行同步。

環(huán)境描述:

? ? master:192.168.2.100 ? ?不開啟RDB和AOF

? ? slave:192.168.2.200 ? ?開啟RDB和AOF

配置信息:

? master:

? ? ? # vim etc/redis.conf

? ? ? ?#save 600 5 ? ? ? ? ? //禁用RDB

? ? ? ?appendonly no ? ? ? //禁用AOF

? ? ? ?requirepass 123456 ? ? ? ?//指定驗(yàn)證密碼

?slave:

? ? ? # vim etc/redis.conf

? ? ? ? save 600 5 ? ? ? ? ? //禁用RDB

? ? ? ? appendonly yes ? ? ?//禁用AOF

? ? ? ? appendfilename "appendonly.aof" ? ? ? ?//指定AOF文件

? ? ? ? appendfsync everysec ? ? ? ? ? ? ? ?//每秒強(qiáng)制寫入磁盤一次

? ? ? ? no-appendfsync-on-rewrite no ? ? ? ?//在日志重寫時(shí),不進(jìn)行命令追加操作

? ? ? ? auto-aof-rewrite-percentage 100 ? ? ? ? ? ?//當(dāng)前AOF超過上一次AOF大小100%時(shí)重寫

? ? ? ? auto-aof-rewrite-min-size 64mb ? ? ? ? ? //日志重寫最小值

? ? ? ? slaveof 192.168.2.100 6379 ? ? ? ? ?//指定主庫IP和端口

? ? ? ? masterauth 123456 ? ? ? ? ?//指定主庫登錄密碼

啟動(dòng)redis:

? ? master:# redis-server etc/redis.conf

? ? slave:# redis-server etc/redis.conf

觀察同步過程

? ? master:

? ? ? # redis-cli -a 123456

? ? ? ? 127.0.0.1:6379> info replication ? ? ? ? //查看主從關(guān)系是否正確

? ? ? ? 127.0.0.1:6379> keys * ? ? ? ? ? ? ? //此時(shí),master安裝目錄下是沒有RDB文件的

? ? ? ? (empty list or set)

? ? ? ? 127.0.0.1:6379> set name zhagnsan ? ? ? //創(chuàng)建key

? ? ? ? OK

? ? ? # ll /usr/local/redis-3.0.6-6379 ? ? ? ? ? //目錄下生成一個(gè)RDB文件,用作和slave同步的基礎(chǔ)

? ? ? ? -rw-r--r-- ?1 root root ? ?35 5月 ?20 21:59 dump_6379.rdb

? ? slave:

? ? ? # redis-cli?

? ? ? ? 127.0.0.1:6379> info replication ? ? ? ? //查看主從關(guān)系是否正確

? ? ? ? 127.0.0.1:6379> keys * ? ? ? ? ? ?//數(shù)據(jù)已同步

? ? ? ? 1) "name"

? ? ? ? 127.0.0.1:6379> get name

? ? ? ? "zhagnsan"

? ? ? # ll /usr/local/redis-3.0.6-6379 ? ? ? ? //目錄下生成RDB文件和AOF文件

? ? ? ? -rw-r--r-- ?1 root root ? ?60 5月 ?20 21:59 appendonly.aof

? ? ? ? -rw-r--r-- ?1 root root ? ?18 5月 ?20 21:58 dump.rdb

? ? master:

? ? ? # redis-cli -a 123456

? ? ? ? 127.0.0.1:6379> set age 26 ? ? ? ? ? ? ? //新增2個(gè)key

? ? ? ? OK

? ? ? ? 127.0.0.1:6379> set home beijing

? ? ? ? OK

? ? ? # ll /usr/local/redis-3.0.6-6379 ? ? ? ? ? //RDB文件大小沒變化

? ? ? ? -rw-r--r-- ?1 root root ? ?35 5月 ?20 21:59 dump_6379.rdb

? ? slave:

? ? ? # redis-cli

? ? ? ? 127.0.0.1:6379> keys * ? ? ? ? ? ?//數(shù)據(jù)已同步

? ? ? ? 1) "age"

? ? ? ? 2) "name"

? ? ? ? 3) "home"

? ? ? # ll /usr/local/redis-3.0.6-6379 ? ? ? ? //發(fā)現(xiàn):RDB文件大小不變,變化的只是AOF

? ? ? ? -rw-r--r-- ?1 root root ? 126 5月 ?20 22:00 appendonly.aof

? ? ? ? -rw-r--r-- ?1 root root ? ?18 5月 ?20 21:58 dump.rdb

? ? ? ? ? ??

總結(jié):在數(shù)據(jù)同步過程中,master只在第一次同步時(shí)創(chuàng)建了RDB文件,

? ? ? 之后的同步,都是通過增量傳輸命令的方式進(jìn)行同步。

文章標(biāo)題:Redis主從同步原理解析(實(shí)驗(yàn))
網(wǎng)站路徑:http://muchs.cn/article0/jpecoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序企業(yè)建站、網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、網(wǎng)站策劃、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站