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)