0


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.confcp/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即可
在这里插入图片描述
在这里插入图片描述
最后,单机的主从复制就搭建好了,如果需要搭建多台服务器的主从复制,其实也就是将从机的目标主机端口和配置稍作修改一下就可以了。

标签: redis 数据库 缓存

本文转载自: https://blog.csdn.net/JAVA_EE_J/article/details/126569450
版权归原作者 Netty. 所有, 如有侵权,请联系我们删除。

“Redis主从复制(单机操作)”的评论:

还没有评论