多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 1  Redis主从服务配置 ### 1.1概述 Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。主从同步,有以下好处: 实现数据的备份,减少单点故障带来的损失;有利于实现负载均衡。本来一台服务器负责所有数据的读写,而通过主从同步,可以让多个从服务器负责数据的读,而主服务器主要负责数据的写,减轻了单点压力。 ### 1.2实现机制 (1)Slave服务器连接到Master服务器. (2)Slave服务器发送SYCN命令. (3)Master服务器备份数据库到.rdb文件. (4)Master服务器把.rdb文件传输给Slave服务器. (5)Slave服务器把.rdb文件数据导入到数据库中. 上面的这5步是同步的第一阶段, 接下来在Master服务器上调用每一个命令都使用replicationFeedSlaves()来同步到Slave服务器.而replicationFeedSlaves()主要做的工作就是把用户执行的命令发送到所有的Slave服务器, 让Slave服务器执行. 这样就可以实施同步功能. ### 1.3相关配置 **案例:** 主服务:172.168.10.254   6379 从服务:172.168.10.254   6380 修改redis.conf配置文件,主要配置如下: 1)  配置相应的ip和端口 主: bind172.168.10.254                           #绑定主机IP, (必须修改为网卡ip地址) port   6379                                   #监听端口,默认为6379 从: bind172.168.10.254                           #绑定主机IP, (必须修改为网卡ip地址) port   6380                                   #监听端口,默认为6379 2)  修改从服务redis.conf 配置: slaveof172.168.10.254  6379                  #设置主服务的IP及端口 slave-read-only      yes                      #配置从机是否只读 masterauthpwd123                             #设置主服务的连接密码 slave-serve-stale-datayes                    #在master服务器挂掉或者同步失败时,从服务器是否继续提供服务。 #repl-ping-slave-period10                   #master端ping slave端的时间间隔,时刻检测slave连接的有效 #repl-timeout60                   # replication连接的超时时间 #slave-priority100                  #slave的权重,用于redis sentinel模式中,如果masterdown,权重大的slave接替master        slave-priority100                            #slave级别,数字越小级别越大(在master挂掉,slave升级用到) ### 1.4测试验证 主从服务配置完成后,启动相应服务; 1)  从服务日志信息将显示从masger主服务同步数据: ![](https://box.kancloud.cn/2016-06-03_575103f9adf0c.jpg) 2)  主服务日志信息将显示slave从同步数据成功: ![](https://box.kancloud.cn/2016-06-03_575103fa04570.jpg) 3) 分别用redis-cli连接: [root@centosredis]# redis-cli -h 172.168.10.254 -p 6379 172.168.10.254:6379> [root@centosredis]# redis-cli -h 172.168.10.254 -p 6380 172.168.10.254:6380> 4)  测试: 在主服务设置相应的key数据: ![](https://box.kancloud.cn/2016-06-03_575103fa4bfaa.jpg) 在从服务上可以查看到相应的同步数据: ![](https://box.kancloud.cn/2016-06-03_575103faa77ec.jpg) 此时查看主从服务的相应日志文件可以看到: 主服务: ![](https://box.kancloud.cn/2016-06-03_575103fad800f.jpg) 从服务: ![](https://box.kancloud.cn/2016-06-03_575103fb1be82.jpg) 可以看到的是当主服务数据发生变化时,将实时同步到从服务上。 至此Redis主从服务数据同步配置完成!