一、目录

Redis复制的原理与优化

        什么是主从复制
全量复制和部分复制
复制的配置
故障处理
开发运维常见问题

二、 什么是主从复制

1、单机有什么问题?

单机如果机器故障,那么久无法及时提供服务;

同时单机的内存等容量有限,无法支持耗能较大的应用;

如果应用的访问并发过大,单机环境无法支持那么大的QPS

 所以,这时就需要多态服务器主机通过主从复制的机制提供更好的应用。

2、主从复制的作用:

1)一主一从模型:

左边的master是主节点,右边的slave是从节点。

如图,假如此时右边是一个空的redis,左边是一个有数据的redis,此时,我做一个复制的操作或复制的命令。那么,左边主节点的数据会向右边传过去。

此时,如果向左边的redis写数据,右边的slave也会有一些操作。

如图,左边有K1、K2、K3、.....、Kn,同样的,右边也会有K1、K2、K3、...、Kn。

它能够起到对主机进行备份的作用。可以为主机发生宕机时提供数据的支援。
2)一主多从模型:

一个master可以有多slave,也就是有多个数据的副本。有利于在master和一台slave或两台slave同时挂掉时,还能够有多个数据备份。

以及可以进行读写分离,达到流量分流。

示例:

3、主从复制作用:

数据副本

扩展读性能

小结:

1) 一个master可以有多个slave

2)一个slave只能有一个master

3)数据流向是单向的,master到slave

三、主从复制配置

1、实现主从复制的方式:

两种实现方式:

1)命令实现:

命令:

redis-6380 > slaveof 127.0.0.1 6379

OK

取消复制(恢复主节点地位):

已写入数据不做清除,原主节点数据也不再写入

命令:

redis-6380 > slaveof no one

OK

2、修改配置(主从配置):

slaveof ip port 

在主节点标记从节点 ip  port

slave-read-only yes

配置从节点只做读操作

3、比较

四、主从配置-操作

  • 命令
  • 配置
  • 主从关系
  • 主从数据

1、编辑配置文件redis.conf

1)主节点配置:

进程id

日志文件

关闭rdb

配置rdb文件名:区别主从

工作目录

2)从节点配置:

从节点复制主节点,指定主节点 ip port

其他配置和主节点一致,只需修改相关名称中的端口号6378为 6379即可

启动主服务器:

主节点状态:

启动从服务器:

从节点状态:

同步测试:

Redis 入门到分布式 (七)Redis复制的原理与优化的更多相关文章

  1. redis入门(15)redis的数据备份和恢复

    redis入门(15)redis的数据备份和恢复

  2. redis入门(14)redis集群下的数据分区存储

    redis入门(10)redis集群下的数据分区存储

  3. Redis 入门到分布式 (五) Redis持久化的取舍和选择

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) Redis持久化的取舍和选择 持久化的作用 RDB AOF RDB和AOF的选择 一.持久化的作用   ...

  4. Redis 入门到分布式 (二)API的理解和使用

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 内容: 通用命令 单线程架构 数据结构和内部编码 一.常用的通用命令: keys       计算所有的 ...

  5. redis入门指南(五)—— 复制与哨兵

    写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 一.复制 1.在复制中,数据库分为两类,一类主数据库,一类从数据库,主库用来读写,从库用来读,主 ...

  6. redis入门指南(七)—— 安全、协议、管理工具及命令属性

    写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 安全 1.可以使用bind参数绑定一个地址,使redis只接受这个地址的连接. 2.使用requ ...

  7. <Redis> 入门X 分布式锁

    分布式其实就是多进程的程序,当多个进程访问一个资源,会造成问题: 1.资源共享的竞争问题 2.数据的安全性 分布式锁的解决方案: 1.怎么去获取锁 数据库 zookeeper redis 2.怎么释放 ...

  8. Redis 入门到分布式 (八)Redis Sentinel

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) sentinel-目录 主从复制高可用 安装配置 实现原理 架构说明 客户端连接 常见开发运维问题 一. ...

  9. Redis 入门到分布式 (一)Redis初识

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.Redis特性目录 Redis的特性: 速度快 持久化 多种数据结构 支持多种编辑语言 功能丰富 简 ...

随机推荐

  1. java基础篇 之 super关键字的理解

    ​ 之前一直认为,super指向的是父类对象.到今天,仔细查询了资料,自己做了实验,确认这个结论是不对的.我们分一下几个点讨论下: super的作用: 第一种:用来访问父类被隐藏的成员变量 第二种:用 ...

  2. 面向开发者的Docker实践

    show me the code and talk to me,做的出来更要说的明白 本文源码,请点击learnSpringboot 我是布尔bl,你的支持是我分享的动力! 一. 引入 有开发经验的都 ...

  3. Apache Hudi又双叕被国内顶级云服务提供商集成了!

    是的,最近国内云服务提供商腾讯云在其EMR-V2.2.0版本中优先集成了Hudi 0.5.1版本作为其云上的数据湖解决方案对外提供服务 Apache Hudi 在 HDFS 的数据集上提供了插入更新和 ...

  4. 龙贝格算法 MATLAB实现

    龙贝格算法主要是不断递推和加速,直到满足精度要求 递推: 加速: 得到T表: MATLAB代码: function I = Romberg(f, a, b, epsilon) I = 0; h = b ...

  5. 新书《OpenShift云原生架构:原理与实践》第一章第三节:企业级PaaS平台OpenShift

    近十年来,信息技术领域在经历一场技术大变革,这场变革正将我们由传统IT架构及其所支撑的臃肿应用系统时代,迁移至云原生架构及其所支撑的敏捷应用系统时代.在这场变革中,新技术的出现.更新和淘汰之迅速,以及 ...

  6. linux --批量修改文件内容

    由于目前测试的BIOS有一个option 发生了改变,因此我们需要在之前写好的脚本上进行修改,将旧的option 改为新的选项,因此在此处用到了批量修改文件中的内容: 1. perl 命令替换: pe ...

  7. 学习笔记:平衡树-splay

    嗯好的今天我们来谈谈cosplay splay是一种操作,是一种调整二叉排序树的操作,但是它并不会时时刻刻保持一个平衡,因为它会根据每一次操作把需要操作的点旋转到根节点上 所谓二叉排序树,就是满足对树 ...

  8. Vi 和 Vim 的使用

    Vi (Visual Interface)是 Linux下基于Shell 的文本编辑器,Vim (Visual Interface iMproved)是 Vi的增强版本,扩展了很多功能,比如对程序源文 ...

  9. 「雕爷学编程」Arduino动手做(22)——8X8 LED点阵MAX7219屏

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  10. vue的slot

    1.明确一点:分发内容是在父作用域内编译: 2.slot作为备用内容的条件:宿主元素为空且父元素没有要分发的内容. 3.具名slot:<slot name="XXX"> ...