Redis读写分离架构搭建及原理解析

本文详细介绍了Redis的读写分离原理,包括主从数据复制过程,以及如何搭建读写分离架构。同时,文章还探讨了Redis的无磁盘化主从复制,解释了这种高效的数据同步方式,旨在提升Redis在高并发场景下的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Redis读写分离原理

为了解决单实例Redis在高并发下的性能问题,所以需要对单实例Redis进行扩展,将其扩展为一个(master)主节点负责写入以及多个从节点(slave)负责读取,所以读写分离架构是一种主从架构。
在这里插入图片描述

  • 当slave节点初始化时,会ping向master,一旦ping通了,slave就会从master节点进行数据复制,这是一种基于RDB持久化机制的全量的数据复制模式,slave节点把master节点的RDB文件复制到slave节点上,然后把RDB文件加载到内存中去。
  • 后期master有写操作的时候,master会把相应的命令传输到slave,slave执行同样的命令保证数据同步。
    在这里插入图片描述

2. Redis读写分离架构搭建

首先准备三个节点,在每个节点上执行info replication,都会出现如下结果。可以看出,在单节点下,每个节点的角色都是master,待连接的从节点都是0个。
在这里插入图片描述

现在以Node1为主,Node2和Node3为从节点搭建读写分离结构:

  1. Node1不用配置,只需要配置Node2和Node3的从节点配置即可;
  2. 打开Node2的Redis.conf文件,将如下参数:
replicaof <masterip> <masterport> #修改为主节点的地址和端口
masterauth <master-password> #主节点的密码
replica-read-only yes #这是个默认配置,意思是所有的从节点是只读的,这样在从节点的写操作是写不进去的
  1. 重启Redis,Node3同理

在查看主节点信息如下,表明有两个从节点连接了:
在这里插入图片描述

3. Redis无磁盘化主从复制原理解析

Redis无磁盘化复制是指通过socket的方式,从master的内存把数据直接复制到slave的内存中,无磁盘化复制是为了适应磁盘读写效率低下的场景。
在这里插入图片描述
通过修改redis.conf中的如下属性进行配置:

repl-diskless-sync yes #启动无磁盘化复制
repl-diskless-sync-delay 5 #在进行同步之前,等待所有slave节点ping通的时间,默认是5秒
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值