Redis主从架构

深入学习 Redis - 主从结构配置、流程、底层原理(全网最详细) 单点问题可用性:如果这个机器挂了,意味着服务就中断了.性能:支持的并发量也是比较有限的.因此引入分布式系统,主要也是为了解决上述的单点问题~ 分布式系统中,往往需要多个服务器来部署 redis 服务,从而构成redis 集群,此时就可以让这个集群给整个分布式系统中的其他服务,提供更稳定 / 更高效的数据存储功能.本章主要来讲一下 redis 部署方式中的主从模式~ 阅读详情

以下是分步实现Redis主从架构的详细指南,使用1个主节点+2个从节点的配置方案:


在这里插入图片描述

主从架构的典型应用对比

场景单节点架构主从架构优势
读请求占比80%+单节点CPU飙升至90%读请求分摊到3个节点,CPU均载30%
主节点故障服务完全中断,数据可能丢失30秒内自动切换从节点为新主节点
全量数据备份需停机执行SAVE在任意从节点执行无感知备份
跨地域访问美国用户访问上海节点延迟200ms+美国用户直连本地从节点,延迟<50ms

在Spring boot项目里面使用需要配置Lettuce客户端实现读写分离可以查看这个链接去配置Redis主从架构配置读写分配置

环境准备

  1. 确保已安装Redis(推荐6.x+版本)
  2. 准备三份Redis配置文件(建议使用不同端口)
  3. 本示例使用同一服务器演示,实际生产环境建议分离部署

步骤1:创建Redis实例

1.1 创建配置文件目录
mkdir -p /etc/redis/{master,slave1,slave2}
1.2 生成主节点配置(6379端口)(默认就是主节点)
cat > /etc/redis/master/redis.conf <<EOF
port 6379
daemonize yes
pidfile /var/run/redis_6379.pid
logfile "/var/log/redis_6379.log"
dir /var/lib/redis/6379
# 可选密码配置(生产环境必选)
# requirepass your_master_password
EOF
1.3 生成从节点配置(6380/6381端口)
# 从节点1(6380)
cat > /etc/redis/slave1/redis.conf <<EOF
port 6380
daemonize yes
pidfile /var/run/redis_6380.pid
logfile "/var/log/redis_6380.log"
dir /var/lib/redis/6380
replicaof 127.0.0.1 6379
# 如果主节点有密码需添加
# masterauth your_master_password
EOF

# 从节点2(6381)
cat > /etc/redis/slave2/redis.conf <<EOF
port 6381
daemonize yes
pidfile /var/run/redis_6381.pid
logfile "/var/log/redis_6381.log"
dir /var/lib/redis/6381
replicaof 127.0.0.1 6379
# masterauth your_master_password
EOF

replicaof 127.0.0.1 6379 这个是指定从节点的指令主节点是 127.0.0.1 6379

步骤2:启动Redis实例

# 创建数据目录
mkdir -p /var/lib/redis/{6379,6380,6381}

# 启动主节点
redis-server /etc/redis/master/redis.conf

# 启动从节点
redis-server /etc/redis/slave1/redis.conf
redis-server /etc/redis/slave2/redis.conf

步骤3:验证主从关系

3.1 检查主节点信息
redis-cli -p 6379 info replication

输出应包含:

role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=...
slave1:ip=127.0.0.1,port=6381,state=online,offset=...
3.2 检查从节点信息
redis-cli -p 6380 info replication | grep -E "role|master"
redis-cli -p 6381 info replication | grep -E "role|master"

预期输出:

role:slave
master_host:127.0.0.1
master_port:6379

步骤4:测试数据同步

4.1 主节点写入数据
redis-cli -p 6379 set test_key "hello_world"
4.2 从节点查询数据
redis-cli -p 6380 get test_key  # 应返回"hello_world"
redis-cli -p 6381 get test_key  # 应返回"hello_world"

生产环境优化建议

  1. 安全配置:

    • 启用密码认证(requirepass + masterauth)
    • 绑定特定IP(bind配置项)
    • 禁用危险命令:rename-command FLUSHALL ""
  2. 持久化配置:

    • 主节点关闭持久化(避免磁盘IO影响性能)
    • 从节点启用RDB或AOF持久化
  3. 高可用方案:

    • 搭配Sentinel实现自动故障转移
    • 使用Redis Cluster方案
  4. 监控配置:

    • 启用Redis监控命令
    • 配置Prometheus+Redis_exporter监控

常见问题排查

  1. 从节点无法连接主节点:

    • 检查防火墙设置
    • 确认masterauth与requirepass匹配
    • 查看Redis日志:tail -f /var/log/redis_*.log
  2. 数据同步延迟:

    • 监控master_repl_offset与slave_repl_offset
    • 检查网络带宽和从节点性能
  3. 主从切换后数据不一致:

    • 使用redis-check-rdb检查持久化文件
    • 检查主从复制积压缓冲区:repl_backlog_active

通过以上步骤,您已经成功搭建了一个基础的Redis主从复制架构。建议根据实际业务需求进一步配置优化参数和安全策略。


一文读懂Redis之主从模式搭建 本文详细介绍了Redis主从模式的搭建过程,包括Master和Slave节点的安装配置、服务启动及数据同步验证。主要内容涵盖:1)Redis主从模式的作用,提高数据可靠性并分担读写压力;2)环境准备,包括服务器IP、系统版本和依赖安装;3)具体搭建步骤,从目录创建、安装包下载到配置文件修改;4)主从服务启动和状态检查;5)数据同步验证。通过该方案,可有效实现Redis数据冗余备份和读写分离,增强服务可用性。 阅读详情

相关推荐

Redis——Redis主从架构原理

摘要 本文中将就Redis的相关的的问题和与源码的分析 Redis的基础的数据的结构原理

庄小焱 2198

Redis 主从搭建

同机器 一主两从操作系统Centos 7内核版本主机名称IP地址端口Redis7.2.5操作系统Centos 7Centos 7Centos 7内核版本主机名称masterslave1slave2IP端口163801638116382。

菜鸟一枚,对云原生感兴趣 3890

【阿里云大模型高级工程师ACP习题集】2.3 优化提示词改善答疑机器人回答质量

【摘要】这是我精心整理出对应的习题集,里面足足有 30 道题目,从基础概念到深度拓展,全方位覆盖章节重点、难点。不管你是想检验自己的学习成果,还是想针对薄弱环节进行强化训练,它都能完美适配!

davidkorhenn的博客 1629

Redis—主从配置

Redis主从配置参数详解

xiayping的博客 4390

避开这5个坑!用MATLAB做核密度估计时90%人会犯的错误

本文详细解析了使用MATLAB进行核密度估计时常见的5个高频错误,包括三维数据可视化、带宽参数优化、大数据量处理、核函数选择及版本兼容性问题。特别针对核密度估计中的关键参数带宽(bandwidth)提供了数据驱动的优化策略,帮助用户提升分析精度与效率。

jenkins8butler的博客 277

Android16 3576 u盘固件升级功能添加

1.在u-boot/drivers/power/pmic/rk8xx.c。这里是读取power键的寄存器判断长短按。

tzj1058756809的博客 575

Redis主从配置

主从 – 同步原理 从服务器会向主服务器发出SYNC指令,当主服务器接到此命令后,就会调用BGSAVE指令来创建一个子进程专门进行数据持久化工作,也就是将主服务器的数据写入RDB文件中。redis-master----192.168.198.130 (主) redis-slave-1-----192.168.198.120 (从) redis-slave-2-----192.168.198.110 (从)redis的主从同步是异步进行的,这意味着主从同步不会影响主逻辑,也不会降低redis的处理性能。

0100 0111 0100 1101 0000 1111 0010 1000 1001 1625

保姆级教程!Python爬虫爬取知乎回答,保存为Markdown文件

本教程实现了知乎公开回答的完整爬取与Markdown保存,核心流程为「请求页面→解析作者/时间/正文/图片→下载图片→保存MD文件」,步骤清晰,代码可直接复用关键特性:支持合并/单文件两种保存模式、自动下载图片并引用、中文乱码防护、非法文件名过滤,满足日常整理知乎回答的需求新手友好:无需复杂配置,仅需修改知乎问题URL即可运行,全程无坑,5分钟内可看到运行结果灵活扩展:支持进阶优化(登录、分页、格式完善),可根据个人需求调整功能。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1232

Redis 主从架构

在 Redis 主从架构中,通常包含一个主节点(Master)和一个或多个从节点(Slave)。主节点负责处理写请求,并将数据同步到从节点。读请求可以由从节点处理,从而实现读写分离,提升性能。Redis 主从架构是一种常用的数据库高可用和扩展解决方案,通过数据复制和读写分离机制,实现了高可用性和性能优化。在 Java 中,可以使用 Jedis 或其他 Redis 客户端库方便地与 Redis 主从架构进行交互,管理和处理数据。通过合理的架构设计和配置,Redis。

Flying_Fish_roe的博客 1587

uniapp [安卓苹果App端] - 详细实现下载文件保存到用户手机本地,指定文件存储位置路径及文件夹名称下载并保存,Uniapp app端将文件下载保存并储存到指定目录(手机系统存储空间权限检测)

uni-app,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果安卓app,app端下载文件,移动端文件下载,并保存到手机本地存储空间,uniapp下载文件保存到手机本地,iOS下载文件怎么保存,系统读写存储空间权限,下载文件到本地详细流程及源代码,保存自定义目录,uniapp,实现下载文件并保存到本地,文件后缀,如何指定手机的存放目录路径url,点击下载文档到手机中并提示存储位置,如何在uniapp中实现文件下载功能,uniApp文件下载,怎么指定文件保存目录,下载报错,没反应

🏆 前端领域优质创作者 1万+

UCIE Specification详解(七)

Logical Physical Layer(逻辑物理层)

Crazzy_M的博客 1685

Redis主从架构搭建

一 .Redis的安装 一. 下载   进入redis官网,打开下载页面 (https://redis.io/download),页面有三种版本,Unstable, Stable, 以及Docker . 我们选择Statbele下载即可。 二. 安装   把下载好的安装包redis-5.0.5 .tar.gz上传到linux服务器,并解压。由于redis用C语言编写,所以需要c语言环境...

编号94530 4052

IGBT基础知识及应用电路仿真(Multisim)

本文系统介绍了IGBT(绝缘栅双极晶体管)及其应用电路。首先详细解析了IGBT的基本结构、工作原理和特性参数,重点阐述了其五层半导体结构、电导调制效应和电压驱动特性。随后通过Multisim仿真展示了IGBT在四种典型功率变换电路中的应用:半桥驱动电路实现隔离式互补驱动;全桥逆变电路完成DC-AC转换;三相桥式逆变电路生成三相交流电;直流斩波电路(BUCK/BOOST/BUCK-BOOST)实现电压升降变换。文章通过理论分析与仿真波形相结合,全面呈现了IGBT在中高压大功率场景下的优异性能和灵活应用。

XU157303764的博客 1218

Redis主从架构原理

我们使用redis的时候为了预防单点故障,通常要做高可用设计,redis主从架构就是一种防止redis主节点宕机启用从节点的高可用设计方案。下面我们看一下redis主从架构的设计原理。

qq_36037795的博客 1564

微信公众号 - 解决报错 “err_msg“:“system:access_denied“,微信环境浏览器真机使用微信支付、微信授权登录、分享朋友圈转发好友报错system:access_denied

微信公众号,微信网页,手机h5网页,微信报错,system:access_denied,微信支付,提示报错,微信登录授权报错,微信朋友圈分享,微信转发,WeixinJSBridge,微信环境下,微信内置浏览器,微信公众号项目报错system:access_denied,如何解决,invoke(),API调用后出现报错,微信内部H5 WeixinJSBridge.invoke system:access_denied,使用微信jssdk时报access_denied错误,还是报错,真机运行,真机调试api返回

🏆 前端领域优质创作者 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

redis主从架构

Redis 主从架构 单机的 redis,能够承载的 QPS 大概就在上万到几万不等。对于缓存来说,一般都是用来支撑读高并发的。因此架构做成主从(master-slave)架构,一主多从,主负责写,并且将数据复制到其它的 slave 节点,从节点负责读。所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发。 redis replication -> 主从架构 -&gt...

u014513171的博客 733

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

redis集群之主从架构

什么是Redis集群?Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同的服务器节点上同时提供服务,提高整体性能和可靠性。根据搭建的方式和集群的特性,Redis集群主要有三种模式:主从复制模式(Master-Slave)、哨兵模式(Sentinel)和Cluster模式。本文将首先介绍主从复制架构模式本文主要讲解了主从复制之间的复制原理,分为:全量复制和部分复制。

weixin_45476104的博客 1697

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Redis-主从架构

Redis主从架构(Master-Slave Architecture)本质上是一种数据复制模型,它通过将数据从主节点复制到一个或多个从节点,实现数据冗余、负载分担和高可用性。“PSYNC2是Redis 4.0引入的增强版部分复制机制,主要解决了复杂拓扑结构下的复制效率和稳定性问题。“总之,PSYNC2是Redis复制机制的重要进步,为构建大规模、高可用的Redis集群提供了更坚实的基础。

左灯右行的爱情 1364

redis进阶:redis主从架构原理及搭建

至此,我们的主从架构就搭建完成了,实际上我们只需要一个replicaof 主节点IP 端口就能实现主从同步,非常简单。需要注意的是,实际操作过程中注意开启对应的redis端口或者关闭防火墙(生产环境不建议关闭)下期继续带大家实操redis哨兵模式。

55555的博客 2259

Redis主从架构+使用sentinel实现主从架构高可用

为了防止sentinel误判和单点故障,sentinel也应该部署为集群,sentinel多个节点同时监控redis主从架构,一旦有一个sentinel节点发现redis的主节点不在线时的情况,sentinel会与其他的sentinel节点协商,看其他的sentinel节点是否也同样发现redis的主节点不在线,如果sentinel的多个点节点都发现redis的主节点都为离线,那么则判定redis主节点为离线状态,以此方式避免误判,同样也避免了单点故障。也可以在3台不同的服务器上进行搭建redis。

共产主义接班人 1381

Redis 主从架构是怎样的?

Redis 主从架构 单机的 Redis,能够承载的 QPS 大概就在上万到几万不等。对于缓存来说,一般都是用来支撑读高并发的。因此架构做成主从(master-slave)架构,一主多从,主负责写,并且将数据复制到其它的 slave 节点,从节点负责读。所有的读请求全部走从节点。这样也可以很轻松实现水平扩容,支撑读高并发。 Redis replication -> 主从架构 -> 读写分离 -> 水平扩容支撑读高并发 Redis replication 的核心机制 Redis 采用异步

weixin_49794051的博客 214
上一篇: Redis主从架构配置 读写分离
下一篇: Redis哨兵(主从架构 + Sentinel)
小李不秃头♛
博客等级 码龄2年 619粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值