1. 是什么

行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略自动同步到备机的 master/slave 机制,Master以写为主,Slave 以读为主

2. 能干嘛

  • 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式
  • 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余
  • 负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载
  • 高可用基石:由于主从复制是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础

3. 怎么玩

Redis主从复制讲解

(1). info replication:查看 目标redis 主从情况

(2) . 配从库不配主库

从库配置:slaveof 主库IP 主库端口

注:slaveof 进行配置的话,每次断开后都需要重新连接,除非配置进redis.conf文件中

一旦从库 跟随了 主库,从库可读不可写,首次是全量同步 (这里的首次是执行slaveof命令时 ) 之后是增量,若从库同步之前存在 与主库相同的 key的 数据,则主库的 数据覆盖从库

(3). 常用策略

①. 一主二从

此一主二从 可以水平扩展为一主多从,主机主要负责写,从机主要负责读

主机down掉在没有哨兵机制的情况下,从机只会静默等待 直至主机恢复运行状态

②.薪火相传

上一个Slave可以是下一个slave的Master,Slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中下一个的master,可以有效减轻master的写压力。

第一个开头的事master,其他都是slave,只是中间的slave是下一个的master

(4). 复制原理

Slave启动成功连接到master后会发送一个sync命令

Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,

在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步

  • 全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
  • 增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步

但是只要是重新连接master,一次完全同步(全量复制)将被自动执行

(5). 重要的哨兵模式

能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库

以一主二从的策略为例:

  1. 自定义的/myredis目录下新建sentinel.conf文件,名字绝不能错
  2. 配置哨兵,填写内容
  3. sentinel monitor 被监控数据库名字(自己起名字) 127.0.0.1 6379 1
  4. 上面最后一个数字1,表示主机挂掉后salve投票看让谁接替成为主机,得票数多少后成为主机

3.启动哨兵

Redis-sentinel /myredis/sentinel.conf

4.正常主从演示,原有的master挂了

5.投票新选,重新主从继续开工,info replication查查看

6.原有的down掉主机Master恢复运转,则轮为从机Slave

缺点:复制延时

由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。

redis主从复制_Redis 的主从复制(Master/Slave)相关推荐

  1. redis 主从_Redis的主从复制

    本篇我们来介绍一下Redis的主从复制,那么首先什么是主从复制,我通过一个示意图来给你展示: 示意图很简单,但是主从也很简单,一句话给你总结下:只有主能够对外提供服务,只有主能够提供写服务,主如果挂了 ...

  2. Redis作者摊上事了:多人要求修改Redis主从复制术语master/slave

    作者 | ANTIREZ.小智 近日,Redis 作者在 GitHub 上发起了一个"用其他词汇代替 Redis 的主从复制术语"的 issue.有人认为 Redis 中的术语 m ...

  3. Redis: Redis的主从复制(Master/Slave),一主二仆,薪火相传,反客为主,哨兵模式sentinel

    命令: slaveof 主库ip  主库端口         配置从库 info replication                         查看redis连接情况 slaveof  no ...

  4. java redis 主从配置_Redis实现主从复制(MasterSlave)

    Redis实现主从复制(Master&Slave) Redis主从复制 1.是什么 1.单机有什么问题: 单机故障 容量瓶颈 qps瓶颈 主机数据更新后根据配置和策略,自动同步到备机的mast ...

  5. MongoDB学习笔记——Master/Slave主从复制

    Master/Slave主从复制 主从复制MongoDB中比较常用的一种方式,如果要实现主从复制至少应该有两个MongoDB实例,一个作为主节点负责客户端请求,另一个作为从节点负责从主节点映射数据,提 ...

  6. Redis集群之主从复制

    本文来说下Redis集群之主从复制 文章目录 概述 主从复制 主从同步原理 上文提到的数据不一致是怎么回事 无硬盘复制 增量复制 本文小结 概述 跟Kafka.RocketMQ.MySQL.ZooKe ...

  7. Redis(三)主从复制实现高可用(redis—sentinel)

    1.哨兵模式 哨兵模式是redis高可用的实现方式之一.使用一个或者多个哨兵(Sentinel)实例组成的系统,对redis节点进行监控,在主节点出现故障的情况下,能将从节点中的一个升级为主节点,进行 ...

  8. Redis(八):Redis的复制(Master/Slave)

    Redis的复制(Master/Slave)目录导航: 是什么 能干嘛 怎么玩 复制原理 哨兵模式(sentinel) 复制的缺点 是什么 官网 行话:也就是我们所说的主从复制,主机数据更新后根据配置 ...

  9. Redis(持久化、主从复制、主从切换、twemproxy、redis集群)

    文章目录 Redis Redis应用场景 下载及安装 Redis常用指令 Redis持久化 Redis主从复制 Redis的Sentinel分布式系统(主从切换) sentnel(Redis的高可用方 ...

最新文章

  1. 部分人说 Java 的性能已经达到甚至超过 C++,是真的吗?
  2. ACM数论之旅2---快速幂,快速求a^b
  3. OData metadata 定义中,entity type key 的作用是什么
  4. C++中没有定义类的引用。
  5. 当代年轻人的“快乐秘籍”—— Z时代营销攻略
  6. 医疗影像技术简介(X射线,CT,MRI等)
  7. SpringCloud工作笔记065---lombok的使用和原理_在开发工具STS_eclipse_Idea中集成lombok
  8. Android 官方命令深入分析之android
  9. Nginx + uWSGI + Flask + Vhost
  10. Android学习2--项目文件列表简单分析
  11. 拓端tecdat|R语言时间序列TAR阈值模型分析
  12. opengl工具库glfw一 创建窗口
  13. Java算法常见面试题及答案
  14. 苹果隐私十年史:变与不变(3)产品与常识
  15. Allwinner(全志)V5 SPI Flash Support List
  16. 计算机科学的主要目标,学习计算机的主要目的是什么?
  17. 2023年云计算发展趋势会减缓吗?还能学习就业吗?
  18. 图解 pci pci-x pci-e
  19. 如何设置谷歌浏览器在新窗口中打开链接
  20. 2021最新华为Android校招面试题,附答案

热门文章

  1. 零基础学python实战-零基础学习python_类和对象(36-40课)
  2. python必背100源代码-学会这个Python库,至少能减少100行代码
  3. python自学行吗-Python能自学吗?
  4. python代码大全-python中的字典用法大全的代码
  5. 30岁学python有前途吗-我30岁了,转行学编程可以吗? 排除法告诉你答案
  6. python安装-Python uWSGI 安装配置
  7. 第T题 详解放苹果(递归) =========== 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
  8. 四叶草启动linux黑屏,四叶草剧场黑屏进不去解决方法一览
  9. python绘制动态条形图_Python 绘图与可视化 matplotlib 动态条形图 bar
  10. 【python笔记】python基础(注释,缩进,变量,表达式,运算符)