Redis主从复制

1.主从复制是什么

主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器。前者称为主节点(Master/Leader),后者称为从节点(Slave/Follower), 数据的复制是单向的!只能由主节点复制到从节点(主节点以写为主、从节点以读为主)—— 读写分离。

默认情况下,每台Redis服务器都是主节点,一个主节点可以有0个或者多个从节点,但每个从节点只能由一个主节点,Master以写为主,Slave以读为主。

2.主从复制能干嘛

  • 读写分离,性能扩展,高可用
  • 容灾快速恢复

在这里插入图片描述

3.搭建主从复制

3.1 声明需要修改的redis.conf部分

 

#开启以下配置
daemonize yes

#Pid文件名称pidfile,名称以redis+端口号命名,例如:
pidfile /var/run/redis6380.pid

#指定端口,例如:
port 6380

#日志文件,例如:
dbfilename dump6380.rdb

#将配置文件以下配置关闭或者Appendonly下方的配置文件名称修改改成各个不一样的
Appendonly on

3.2 首先在根目录下创建一个目录

# 打开根目录
cd /

# 创建myredis目录
mkdir myredis

3.3 将之前启动用的redis.conf复制一份到myredis文件夹中

#我启动redis的redis.conf配置文件是存放在/etc/redis.conf
cp /etc/redis.conf /myredis/redis.conf

3.4 然后再创建多个以redis+端口号.conf的配置文件

#创建一个redis6379.conf  或者 vi redis6379.conf
vim redis6379.conf 

#将一下配置写入到配置文件
include /myredis/redis.conf
pidfile /var/run/redis_6379.pid 
port 6379 
dbfilename dump6379.rdb

#创建redis6380.conf配置文件
vim redis6380.conf 

#将一下配置写入到配置文件
include /myredis/redis.conf
pidfile /var/run/redis_6380.pid 
port 6380 
dbfilename dump6380.rdb

#创建redis6381.conf配置文件
vim redis6381.conf 

#将一下配置写入到配置文件
include /myredis/redis.conf
pidfile /var/run/redis_6381.pid 
port 6381 
dbfilename dump6381.rdb
#如还需多个从机依次类推

注意事项:首先每个Redis配置不能配置密码(requirepass)否则主从复制连接不上(应该有解决方案但是我没去探)。

3.5 启动多个Redis服务

redis-server /myredis/redis6379.conf

redis-server /myredis/redis6380.conf

redis-server /myredis/redis6381.conf

#查看redis进程
ps -ef | grep redis

查看进程有以下效果说明启动成功!

在这里插入图片描述

 
查看各个Redis服务的主从信息

#进入redis服务 redis-cli -p redis服务端口号
redis-cli -p 6379

#查看当前机器的主从信息
info replication

在这里插入图片描述

 在这里插入图片描述

在这里插入图片描述 

问题:发现各个Redis服务都是master(主),并没有起到主从复制的效果。
原因:三个服务只是启动好了并没有进行主从复制连接起来

3.6 将三个Redis服务连起来 

#进入你需要设置为从机的Redis服务 redis-cli -p redis服务端口号 
redis-cli -p 6380 
#执行指向主机的操作 slaveof 主机地址 主机端口 
slaveof 127.0.0.1 6379

我们最后再来看:
首先是主机:role是master,然后下面有slave0,slave1两个从机的端口信息.

在这里插入图片描述

 从机:两个从机的role都变成了slave即可

在这里插入图片描述

 在这里插入图片描述

 
最后,单机的主从复制就搭建好了,如果需要搭建多台服务器的主从复制,其实也就是将从机的目标主机端口和配置稍作修改一下就可以了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值