- 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点。
- 默认情况下,每台Redis服务器都是主节点,且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。
主从复制的作用
1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。
2、故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。
3、负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点)分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。
4、读写分离:主库写、从库读,读写分离不仅可以提高服务器的负载能力,同时可根据需求的变化,改变从库的数量;
5、高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。
相关配置
- 四台服务器
192.168.148.167 主服务器(master)
192.168.148.168 从服务器(slave)
192.168.148.169 从服务器(slave)
192.168.148.170 从服务器(slave) - 主服务器配置
bind 0.0.0.0 #绑定IP,示例不限制IP。生产环境需修改
requirepass 123456 #设置密码后 从服务器需配置 masterauth
protected-mode yes #开启保护模式后 远程服务器必须验证ip和密码
- 从服务器配置
(1)配置文件
#redis.conf 配置文件修改
slaveof 192.168.148.168 6379 #配置主服务器信息
lave-read-only yes#开启只读
masterauth 123456#设置主服务器密码
#重启redis
service redisd restart
(2)启动redis时配置
/usr/local/redis6/src/redis-server /etc/redis/6379.conf --slaveof 192.168.148.167 6379
(3)客户端启动
127.0.0.1:6379> slaveof 192.168.148.167 6379
配置完重启后结果如下
下一篇:redis 哨兵实现高可用