一,主从复制流程
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