简介redis之主从复制

author author     2023-03-16     510

关键词:

参考技术A

redis的高可靠性体现在:
1.数据尽量少丢失
2.服务尽量少中断
前者体现在AOF日志和RDB快照的数据可持久化手段上,而后者是增加副本的冗余量,即将一份数据保存在多个实例上(即使一个实例挂掉,其他实例也能对外服务,也就是主从复制)

实验(一主一从)
准备:相同的redis.conf文件
文件夹创建:

编写master.sh和slave.sh(注意slave.sh修改端口 -p或者不加)

启动master容器并验证

退出记录容器IP

进入slave文件夹修改redis.conf

运行slave容器并进入查看slave的实例有没有name键

查看master和slave日志

提示success

根据master日志我们看看
1.Ready to accept connections,Replica 172.17.0.3:6379 asks for synchronization

2.Full resync requested by replica 172.17.0.3:6379
172.17

3.RDB: 6 MB of memory used by copy-on-write

试试向主库写入数据

redis的解决方案就是使用 增量复制
实验

查看日志

我们看到从库宕机重连后并没有进行再一次的全量复制,而是将增加后的数据发给从库。
当主从断连后,主库会把断链期间收到的写命令写入replication buffer(上面有提到),同时也会写入repl_backlog_buffer这个缓冲区。
repl_backlog_buffer是一个环形缓冲区(类似mysql的redolog),主库记录自己写到的位置,从库记录自己读到的位置。
从repl_backlog_buffer偏移位置出发:
1.刚开始主从库都位于repl_backlog_buffer的起始位置
2.主库不断接受写操作,主库的repl_backlog_buffer位置发生偏移master_repl_offset
3.从库复制写命令也不断偏移slave_repl_offset
4.从库断开连接后重连,除了发送psync命令还会发送slave_repl_offset
5.主库计算master_repl_offset和slave_repl_offset偏移差,并将期间的命令发送给从库(set sex 1)

因为是环形的,那么写满后再写入,那么最先写入repl_backlog_buffer的就会被覆盖,出现 主从数据不一致的情况
如何设置配置中的repl_backlog_size就显得很重要

-主从复制第一次采用全量复制当从库数量太多,如何分担主库压力

redis大型攻略之主从复制哨兵模式群集模式

文章目录redis前言主从复制:哨兵:集群:Redis主从复制概述作用工作流程搭建Redis主从复制配置redis前言主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的主从复制主要... 查看详情

redis集群方案之主从复制(待实践)

Redis有主从复制的功能,一台主可以有多台从,从还可以有多台从,但是从只能有一个主。并且在从写入的数据不会复制到主。配置在Redis中,要实现主从复制架构非常简单,只需要在从数据库的配置文件中加上如下命令即可:sl... 查看详情

nosql之redis主从复制哨兵和集群介绍及详细搭建步骤(代码片段)

Redis主从复制、哨兵和集群一、主从复制1.1主从复制的概念1.2主从复制的作用1.3主从复制的流程1.4部署Redis主从复制步骤1.5部署Redis主从复制的具体操作步骤(实操)二、哨兵模式2.1哨兵模式的原理2.2哨兵模式的作用2.3哨... 查看详情

redis进阶高可用之主从复制(代码片段)

主从复制概述主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。主从复制的作用主要包括:... 查看详情

大数据之redis:redis的主从复制(代码片段)

目录1、主从复制是什么?2、用处2、配从(服务器)不配主(服务器)3、inforeplication4、slaveof1、主从复制是什么?主从复制,就是主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主&#... 查看详情

redis集群之主从架构

https://redis.io/topics/replication1.redis主从架构概述(1)一个master可以配置多个slave(2)slave与master之间使用异步复制进行数据同步。(3)redis主从数据同步是非阻塞的。2.配置主从master配置:repl-diskless-syncyes#无磁盘复制,子进程直接... 查看详情

spring之redis主从复制(非哨兵模式)

看了好几天redis了,公司从刚开始的redisluster变成了redis主从,原因是rediscluster不可控,其实是我水平没到,万一出点啥事,我这个负责人都解决不了,那就完了!大数据平台下,如果缓存崩了,所有操作提前全都干到数据库,很... 查看详情

redis集群方案之twemproxy+haproxy+keepalived+sentinel+主从复制(待实践)

首先说明一下,Twemproxy+HAProxy+Keepalived+Sentinel+主从复制-这里提到的技术不一定全部都用上,但是全部用上之后可以达到高可用。主从复制:实现数据一式多份的保障。Sentinel哨兵模式:实现主从节点的切换,比如主节点挂了之后... 查看详情

redis系列之主从复制(代码片段)

主从复制基本介绍Redis支持主从复制功能,可以通过执行slaveof(Redis5版本以后改成replicaof)或者在配置文件中设置slaveof(Redis5版本以后改成replicaof)来开启复制功能。一主两丛一主多从主从基本配置主Redis配置主Redis配... 查看详情

redis大型攻略之主从复制哨兵模式群集模式

文章目录redis前言主从复制:哨兵:集群:Redis主从复制概述作用工作流程搭建Redis主从复制配置redis前言主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的主从复制主要... 查看详情

redis主从之全量复制和增量复制

...数据量过大的时候,会造成很大的网络开销。用于处理在主从复制中因网络闪退等原因造成数据丢失场景,当从节点再次连上主节点,如果条件允许,主节点会补发丢失数据给从节点,因为补发的数据远远小于全量数据,可以有... 查看详情

redis分布式基石——主从复制技术详述

...,全套Redis学习资料,大厂必备技能!目录1、简介2、主从复制的演进2.1版本2.8以前2.1.1同步2.1.2命令传播2.1.3缺陷2.2版本2.8-4.02.2.1改进点2.2.2psync如何实现2.2.3完整的psync2.3版本4.01、简介主从复制是Redis分布式的基石ÿ 查看详情

深入学习redis主从复制

一、主从复制概述主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且... 查看详情

小试牛刀redis集群部署之主从哨兵cluster(~^v^~)(代码片段)

一、主从复制1.1 主从复制概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下&#... 查看详情

小试牛刀redis集群部署之主从哨兵cluster(~^v^~)(代码片段)

一、主从复制1.1 主从复制概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下&#... 查看详情

动手实践redis主从复制sentinel主从切换cluster分片

背景简介Redis提供的如下技术「RedisSentinel『主从切换』、RedisCluster『分片』」,有效实现了Redis的高可用、高性能、高可伸缩性,本文对以上技术进行亲自动手实践。1.RedisSentinel「主从切换」监控主从节点的在线状态,并根据配... 查看详情

redis主从复制

...感兴趣的小伙伴可以选择3A云服务进行学习一、主从复制简介1.你的“Redis”是否高可用单机redis的风险与问题问题1.机器故障现象:硬盘故障、系统崩溃本质:数据丢失,很可能对业务造成灾难性打击结论:基本上会放弃使用redis... 查看详情

分布式丛林探险系列之redis主从复制模式

本文内容主从复制概述主从复制原理连接建立阶段数据同步阶段命令传播阶段主从复制实战本文小结如果说,单体架构系统是坐在家里悠闲地喝着下午茶,那么,毫无疑问,分布式系统将会是一场永远充满惊喜的丛林冒险。从踏... 查看详情