redis学习四 ------ redis主从同步(读写分离)

环境:

系统:centos 6.4
redis:3.2.0

机器ip: 192.168.10.160  ,  192.168.10.161



主从同步原理:







*slave连接到master
*slave发送SYNC命令
*master服务器备份数据库到.rdb文件
*master服务器把.rdb文件传输给slave服务器
*slave服务器把.rdb文件数据导入到数据库


上面的这5步是同步的第一阶段,接下来在master服务器上调用每个命令都在使用replicationFeedSlaves()来同步到slave服务器




配置很简单,主要是下面这个配置,在从redis上加上这个配置,重启就可以了

slaveof 127.0.0.1 6379

还有其他一些辅助性的配置,

当redis的master出现问题的时候,是否依然可以请求slave
slave-serve-stale-data yes

slave是否只读
slave-read-only yes

slave每隔10s  ping 一次master
repl-ping-slave-period 10



slave的优先级,,master选举的依据
slave-priority 100






这个是主从同步的状态:

# Replication
role:master
connected_slaves:1
slave0:ip=127.0.0.1,port=6380,state=online,offset=57,lag=0
master_repl_offset:57
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:56



从上面可以看到 , slave的数量, master的ip , 端口信息 , 还有offset , 是否有延迟同步 lag 等 




不过关于主从同步还有几点需要注意:

* redis.conf配置文件中配置  save "" 可以禁用rdb快照方式 ,  但是在redis的客户端执行 save命令的话 ,  依然会产生 rdb文件
*禁用了rdb快照方式以后 , redis的主从同步依然会产生rdb文件
*主从同步从库断开以后 , 重新建立主从同步 , 会从断开的offset开始同步 , 
*禁用rdb快照以后 , 只是会保证 , 没有 自动触发条件 产生rdb文件 ,详细可以看  redis学习三 





有了主从同步以后 ,  就会出现一个很常见的需求 , 那就是  高可用 , 那么 ,redis是怎么能实现高可用呢,  之后会跟大家说  sentinal  的用法




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值