2,047   Redis

一,主从复制流程

1,Slave服务器连接到Master服务器.
2,Slave服务器发送SYCN命令.
3,Master服务器备份数据库到dump.rdb文件.
4,Master服务器把dump.rdb文件传输给Slave服务器.
5,Slave服务器把dump.rdb文件数据导入到数据库中

 

二,配置过程

Redis主从配置非常简单,只需修改redis.conf文件即可
1,修改redis主服务器master的redis.conf

# slave 链接时的密码,其实也可以不设置
requirepass foobared

2,修改redis从服务器slave 的redis.conf

# 如果master设置了密码
masterauth foobared
# master 的IP和PORT
slaveof 172.20.10.5 6379

3,master和slave都要重启redis-server

 

三,确认配置是否生效
1,redis主服务器master

chenyunhui@ubuntu:/var/lib/redis/6379$ sudo redis-cli
127.0.0.1:6379> info Replication
# Replication
role:master
connected_slaves:1
slave0:ip=172.20.10.3,port=6379,state=online,offset=71,lag=0
master_repl_offset:71
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:70

role显示是master角色,
connected_slaves表示有一个slave链接了,
slave0显示salve的ip和端口信息

 

2,redis从服务器salve

chenyunhui@ubuntu:/var/log/redis$ sudo redis-cli 
127.0.0.1:6379> info Replication
# Replication
role:slave
master_host:172.20.10.5
master_port:6379
master_link_status:up
master_last_io_seconds_ago:2
master_sync_in_progress:0
slave_repl_offset:1261
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
127.0.0.1:6379> 

role显示是slave角色,
master_host的ip
master_port的port
master_link_status:up表示正常链接到master了

 

三,测试一下

 

1,redis主服务器maser

127.0.0.1:6379> set test_slave helloworld
OK
127.0.0.1:6379> get test_slave
"helloworld"

2,redis从服务器slave

127.0.0.1:6379> get test_slave
"helloworld"




Leave a Reply

Your email address will not be published. Required fields are marked *