Redis-cluster集群【第三篇】:redis主從


Redis主從復制原理:

通過把這個RDB文件或AOF文件傳給slave服務器,slave服務器重新加載RDB文件,來實現復制的功能!

復制的話:主服務器可以有多個從服務器!!!  不僅這樣從服務器還可以有從服務器,可以做成星狀的結構!
復制的話也不會阻塞進程,同樣fork一個子進程來做!
 
復制的原理:
當建立一個從服務器后,從服務器會想主服務器發送一個SYNC的命令,主服務器接收到SYNC命令之后會執行BGSAVE
然后保存到RDB文件,然后發送到從服務器!收到RDB文件然后就載入到內存!
 
最早不支持增量,到2.8之后就支持增量了!

Redis主從配置:

配置非常簡單:
我要把:192.168.0.201  6380 作為192.168.0.201 6379的從就一條命令
92.168.0.201:6380> slaveof 192.168.0.201 6379
OK

然后使用INFO查看下:
# Replication
role:slave
master_host:192.168.0.201
master_port:6379
master_link_status:up
master_last_io_seconds_ago:7
master_sync_in_progress:0
slave_repl_offset:85
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

然后在到主的上面看下:
15:38 [root@server.tianshuai.com]$ redis-cli -h 192.168.0.201 -p 6379
192.168.0.201:6379> INFO


# Replication
role:master
connected_slaves:1
slave0:ip=192.168.0.201,port=6380,state=online,offset=183,lag=1    #
master_repl_offset:183
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:182


從2.61 的時候!從是僅讀的
192.168.0.201:6380> SET key1 2
(error) READONLY You can't write against a read only slave.
192.168.0.201:6380>
##現實工作場景中,寫和讀是1:10的嗎,我們就可以,設置多1個主多個從這樣,進行讀寫分離!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM