您的位置:首页 > 数据库 > Redis

学习笔记:Redis--主从复制/

2018-01-21 20:43 519 查看
Redis学习笔记--主从复制

主从复制可以用来备份存储数据到另一个redis库中.也可以用来做读写分离操作.更具自己设计的策略进行主从关系的配置实现不同的主从关系.关系master/slaver关系.也因为该关系以及文件配置项可以实现读写分离.master主要负责写.slaver主要负责读.
两个常用命令.
1.用于指定配置主从关系.slaveof +host +port.为当前操作的redis设置master.....host和port指的是主人redis的地址和端口.
2.info replication.这个指令用于查看当前redis的角色(master/slaver).
3.slaveof noone看名字就是么有master.
ps:主从复制.至少两个或以上.这里设A(6379) B(6380) C(6391) 三个redis库......需要在配置文件内部配置不同的端口
 配置文件中的NetWork项中配置端口port项.这里配置的是6379默认的端口.可以对其修改进行配置不同的redis.





3.几种不同的配置方式
 Ps:几个要点.在对数据备份方面.随从备机Slaver会吧主机Master的所有数据(执行主从复制命令前后主机的数据)~全部~都
 备份到备机中!
 备机Slaver默认配置为只读模式.
 执行操作的时候.BC会同步数据到BC的存储文件中.dump.rdb/appendonly.aof文件中.(ps:为了区分.也需要分别在ABC三
 个Redis配置文件中配置对应的持久化文件名字)

 1.1个master和两个slaver:假设我们设置A为Master.BC同时执行SalveOf A.host A.port...BC就成为了A的随从.既A的备机.
B slaveof A. C slavrof A.
注意点:而当A:master-redis停止工作如shutdown后.BC依旧会保持slaver角色.并且BC其中一个停止工作.互不影响备份工作
而停止工作(断开..)该断开的slaver就会变回master.
 


2.也可以一个接一个.类似马老师的一字长蛇打野(哈哈).......既 B slaveof A. C slavrof B.
注意点:A:master-redis停止工作如shutdown后. BC依旧slaver....A不死B死C不死.中间的断开了.也就执行不了BC的持久化



3.哨兵模式!!这个比较好.重点一点.大概意思是.在第一种模式之下.当A停止工作了.可以通过后台监控master是否停止.如果停止.
就根据剩下的两个从机进行投票选取.选取一个(B/C)当作master继续工作.避免两个slaver导致的都不能写的问题.
 1.需要配置sentinel.conf文件.其中可以这样配置.即监控我们原master主机的名字.host.port.将其设置为1.当我们的master

机停止工作了.会根据剩余两个slaver的票数决定谁成为master



当配置好之后.可以通过redis文件中的redis-sentinel 来执行sentinel配置文件.启动我们的哨兵模式(reids-sentinel sentinel.conf) 启动.
注意点:当原本死掉的Master机恢复工作.他的角色就不是master了.会变成slaver.需要修改课对redis.conf文件中的项进行修改查看的时候会发现!多了一个神头鬼脸的项:就是(slaveof 新maset.host 新master.port) 这样一个东西.还有删除sentinel文件就可以破坏哨兵模式.

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: