Redis主从复制

一 集群分类
主从复制:Replication
高可用:Sentine
集群:Cluster
分布式:twemproxy

二 主从复制
1 一个Redis服务可以有多个服务的复制品,这个Redis服务称为Master,其他复制品称为Slaves。
2 只要网络连接正常,Master会一直将自己的数据更新同步给Slaves,保持主从同步。
3 只有Master可以执行写命令,Slaves只能执行读命令。
4 客户端可以连接Slaves执行读命令,来降低Master的读压力。
5 从服务器执行客户端发送的读命令,比如GET、LRANGE、SMEMMBERS、HGET、ZRANGE等等

三 主从复制创建
1 redis-server --port 6380 --slaveof <master-ip> <master-port>,配置当前服务为某Redis服务的Slave
2 SLAVEOF host port命令,将当前服务器状态从Master修改为别的服务器的Slave
redis>SLAVEOF 192.169.0.110 6379,将服务器转换为Slave
redis>SLAVEOF NO ONE 将服务器状态重新恢复到Master,不会丢弃已同步的数据
3 配置方式:启动时,服务器读取配置文件,并自动成为指定服务器的从服务器
slaveof <master-ip> <master-port>
slaveof 127.0.0.1 6379
[root@master redis]# vi 6380
[root@master redis]# cat 6380
slaveof 127.0.0.1 6379
port 6380
[root@master redis]# redis-server 6380
4 实战1
[root@master ~]# redis-server --port 6380 --slaveof 127.0.0.1 6379
[root@master ~]# redis-cli -p 6380
127.0.0.1:6380> keys *
1) "bookboard-003"
2) "bookboard-002"
3) "bookboard"
4) "scores-all2"
5) "score2"
6) "fruits"
7) "scores-all"
8) "score1"
9) "blog"
10) "bookboard-001"
127.0.0.1:6380> set mykey 123
(error) READONLY You can't write against a read only slave.
5 实战2
[root@master ~]# redis-server --port 6380
[root@master ~]# redis-cli -p 6380
127.0.0.1:6380> keys *
1) "bookboard-003"
2) "score1"
3) "bookboard-002"
4) "blog"
5) "fruits"
6) "bookboard"
7) "score2"
8) "bookboard-001"
9) "scores-all"
10) "scores-all2"
127.0.0.1:6380> set mykey 123
OK
127.0.0.1:6380> slaveof 127.0.0.1 6379
OK
127.0.0.1:6380> set newky 456
(error) READONLY You can't write against a read only slave.
127.0.0.1:6380> keys *
1) "bookboard-003"
2) "score1"
3) "bookboard-002"
4) "blog"
5) "fruits"
6) "bookboard"
7) "score2"
8) "bookboard-001"
9) "scores-all"
10) "scores-all2"
127.0.0.1:6380> SLAVEOF no one
OK
127.0.0.1:6380> set newkey 456
OK
127.0.0.1:6380> exit

四 主从复制问题
1 一个Master可以有多个Slaves
2 Slave下线,只是读请求的处理性能下降
3 Master下线,写请求无法执行
4 其中一台Slave使用SLAVEOF no one命令成为Master,其他Slaves执行SLAVEOF命令指向这个新的Master,从它这里同步数据
以上过程是手动的,能够实现自动、这就需要Sentine哨兵,实现故障转移Failover操作
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值