一.什麼是主從複製?
redis
redis單機存在問題:
1.單機機器故障,不能快速恢復
2.單機容量內存限制
3.單機QPS問題ide
簡單來講slave複製master數據。性能
主從複製的做用:
1.提供數據副本(備份)
2.擴展讀的性能(讀寫分離)code
一個slave只有一個master,一個master有多個slaveserver
2、如何配置複製
1.經過slaveof命令配置,指定是誰slave服務ip
redis-server /Users/zhangrenjie/redis-master-slave/redis_6381.conf
127.0.0.1:6382>slaveof 127.0.0.1 6379
OK內存
查看主從信息同步
127.0.0.1:6381> info replicationit
#Replication role:slave master_host:127.0.0.1 master_port:6379 master_link_status:up master_last_io_seconds_ago:2 master_sync_in_progress:0 slave_repl_offset:1418 slave_priority:100 slave_read_only:1 connected_slaves:0 master_replid:8ad20b647446628d7f21585a73838af209d9e147 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:1418 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:705 repl_backlog_histlen:714
進入主服務io
127.0.0.1:6379> info replication
#Replication role:master connected_slaves:3 slave0:ip=127.0.0.1,port=6380,state=online,offset=914,lag=1 slave1:ip=127.0.0.1,port=6381,state=online,offset=914,lag=0 slave2:ip=127.0.0.1,port=6382,state=online,offset=914,lag=0 master_replid:8ad20b647446628d7f21585a73838af209d9e147 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:914 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:914
取消作slave從節點,原有庫裏經過過來的數據不會消失
127.0.0.1:6382> slaveof no one
OK
注意:slave同步master數據時,slave上自有數據會被清除
2.經過配置文件配置
須要修改完善的地方:
1.daemon yes2.pidfile3.logfile#save 100 1#save 1000 104.dbfilename dump-6379.rdb5.dir #工做目錄6.masterauth 主節點密碼7.slave-read-only yes8.slaveof ip port