redis主從複製

一.什麼是主從複製?
redis

redis單機存在問題:
1.單機機器故障,不能快速恢復
2.單機容量內存限制
3.單機QPS問題ide

簡單來講slave複製master數據。性能

主從複製的做用:
1.提供數據副本(備份)
2.擴展讀的性能(讀寫分離)code

  • 一個slave只有一個master,一個master有多個slaveserver

  • 數據流單向:master->slave

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.經過配置文件配置

  • slaveof ip port
  • slave-read-only yes 從節點只讀

須要修改完善的地方:

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

相關文章
相關標籤/搜索