Redis总结(六)——复制

前言:

在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本。复制功能是高可用Redis的基础。

建立复制:

参与复制的Redis实例划分为主节点(master)和从节点(slave)。默认情况下,Redis都是主节点。每个从节点只能有一个主节点,而主节点可以同时具有多个从节点,复制的数据流是单向的,只能由主节点复制到从节点。

在虚拟机上启动了两个端口为6379(本人的6379节点的redis是在ip为192.168.91.8的虚拟机上)和6380的redis节点。

1、在127.0.0.1:6380执行如下命令:

127.0.0.1:6380> slaveof 192.168.91.8 6379

slaveof配置都是在从节点发起,这时6379作为主节点,6380作为从节点

2、测试

主节点set值看看从节点能否获取到

127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> get hello
"world"

127.0.0.1:6380> get hello

从运行结果看,复制已经起到了作用,针对主节点6379的任何修改都可以同步到从节点6380中,复制过程如下:


saveof本身是异步的,执行slaveof命令时,节点只保存主节点信息后返回,后续复制流程在节点内部异步执行。

3、使用info replication命令查看复制相关状态

1)主节点6379复制状态信息:


2)从节点6380复制状态信息:


断开复制:

slaveof命令不但可以建立复制,还可以在从节点执行slaveof no one来断开与主节点复制关系。例如在6380节点上执行slaveof no one来断开复制




从节点断开复制后并不会抛弃原有数据,只是无法再获取主节点上的数据变化。

总结:

复制的实现方式不只一种,本次指针的小编认为方便的方式来总结,多多实践理解的会更深刻,有问题欢迎留言指出~~谢谢~~

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值