八角塘塘主 2019-11-08
redis单机存在问题:
1.单机机器故障,不能快速恢复
2.单机容量内存限制
3.单机QPS问题
简单来说slave复制master数据。
主从复制的作用:
1.提供数据副本(备份)
2.扩展读的性能(读写分离)
一个slave只有一个master,一个master有多个slave
二、如何配置复制
1.通过slaveof命令配置,指定是谁slave服务
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 replication
#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
进入主服务
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 yes
2.pidfile
3.logfile
#save 100 1
#save 1000 10
4.dbfilename dump-6379.rdb
5.dir #工作目录
6.masterauth 主节点密码
7.slave-read-only yes
8.slaveof ip port