是什么?

主机数据更新后根据配置和策略,自动同步到备机的master/salve机制。Master以写为主,Slave以读为主。

能干嘛?

  • 读写分离
  • 容灾恢复

怎么玩之一主二仆

1、配从不配主

2、从库配置:slaveof 主库ip 主库端口

每次与master断开之后,都需要重新连接,除非配置进redis.conf文件

3、修改配置文件细节操作

  •  cp redis.conf redis6379.confcp redis.conf redis6380.confcp redis.conf redis6381.conf
    

    然后将三个配置文件的port、pidfile、logfile、dbfilename分别修改或添加为6379、6380、6381

  •  [79]终端redis-server /opt/redis-3.0.4/redis6379.confredis-cli -p 6379[80]终端redis-server /opt/redis-3.0.4/redis6380.confredis-cli -p 6380[81]终端redis-server /opt/redis-3.0.4/redis6381.confredis-cli -p 6381
    

4、修改80、81的主从关系

[80]
slaveof 127.0.0.1 6379[81]
slaveof 127.0.0.1 6379

可以使用info replication查看主从关系:

主机的replication信息:

从机的replication信息:

5、发现[80][81]里面有[79]中保存的数据。并且往[79]中写的数据,在[80][81]中都能get到,但是[80][81]不能写数据了。

6、发现:如果主机掉线,从机会等待主机上线,并依然保持slave模式,主机上线后,依然保持原先的状态运行;如果从机掉线,主机失去了那个从机,尽管从机再次上线,依然连接不上主机,且已经退出了slave模式,除非重新连接上主机。

怎么玩之薪火相传

啥意思?

前一个输入slave可以是下一个slave的master,slave同样可以接受其它slave的连接和同步请求,那么该slave作为链条中下一个的master,可以有效减轻master的写压力。

中途变更转向:

会清除之前的数据,重新建立拷贝最新的。

现在,我们让[79]作为[80]的主机,[80]作为[81]的主机

[81]
slaveof 127.0.0.1 6380

可以看到[80]这个时候既作为了主机,也作为了从机

怎么玩之反客为主

假设现在是一仆二主的模式,我们让[80]成为新主机:

[80]
slaveof no one

这段命令的作用是使当前数据库停止与其它数据库的同步,转成为主数据库

复制原理

  • Slave启动成功并连接到master后会发送一个sync命令
  • master接到命令启动后台的存盘进程,执行完毕后传送整个数据文件到slave,以完成一次完全同步。
  • 全量复制:将目前的所有数据发送给slave
  • 增量复制:将新的修改命令传给slave,以完成同步
  • slave首次连接到master,启动全量复制,之后使用增量复制。

哨兵模式(sentinel)

1、是什么

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

2、怎么玩

  • 调整结构,6379带着80、81

  • 在redis文件夹下新建sentinel.conf文件,名字不能取错

  • 填写内容:sentinel monitor [被监控数据库的名字(自己起)] 127.0.0.1 6379 1。这里的数字1表示主机挂掉后salve投票看让谁接替成为主机,得票数多少后成为主机。

  • 启动哨兵:redis-sentinel /opt/redis-3.0.4/sentinel.conf

  • 把79主机强行下线:

    哨兵开始组织投票

  • 查看80的info replication发现它上位成老大了!!

  • 查看81的info replication发现它成了80的走狗了!!

  • 搞笑的事情发生了!!!现在将79服务器重新上线,发现它变成80的走狗了!!

缺点

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

redis基础:8、主从复制相关推荐

  1. mysql主从复制、redis基础、持久化和主从复制

    一.mysql(mariadb)基础 1.基础命令(centos7操作系统下) 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroo ...

  2. Redis 实战之主从复制、高可用、分布式

    简介 本节内容基于 CentOS 7.4.1708,Redis 3.2.12 环境实验. Redis 是一个开源的高性能键值对数据库. 安装:yum install -y redis 特性: 高性能 ...

  3. Redis进阶之主从复制

    转载自  Redis进阶之主从复制 一.主从复制概述 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前者称为主节点(master),后者称为从节点(slave):数据的复制 ...

  4. Redis基础学习(2)

    Redis高可用的方案有持久化.主从复制(及读写分离).哨兵和集群. 主从复制 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前者称为主节点,后者称为从节点:数据的复制是单 ...

  5. Redis基础篇(万丈高楼平地起):核心底层数据结构

    微信原文链接,排版更舒适. 大家好,我是小龙.近期有很多小伙伴私信我Redis怎么做持久化?集群方案怎么做?分布式锁怎么实现?可是我发现,每次简答完一个问题他还有其他类似问题,或则各个知识点不能串通形 ...

  6. Redis基础与高可用集群架构进阶详解

    一.NoSQL简介 1.问题引入 每年到了过年期间,大家都会自觉自发的组织一场活动,叫做春运!以前我们买票都是到火车站排队,后来呢,有了 12306,有了它以后就更方便了,我们可以在网上买票,但是带来 ...

  7. 技术实践|Redis基础知识及集群搭建(上)

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.本篇文章围绕Redis基础知识及集群搭建相关内容进行了分享,希 ...

  8. java基础巩固-宇宙第一AiYWM:为了维持生计,Redis基础Part7(Redis常见使用(部署)方式:单机模式、主从模式、哨兵模式、集群模式)~整起

    Redis持久化:RDB.AOF是针对存储在一台服务器上的数据由于存储过程被打断而发生丢失的情况的.此时,咱们肯定要考虑到,所有鸡蛋都放在一个篮子里是会出问题的. 如果服务器发生了宕机,由于数据恢复是 ...

  9. Redis之Redis基础、环境搭建、主从切换

    Redis基础.环境搭建.主从切换 一.Redis简介 1.引入NoSQL的背景 2.Redis简介 二.环境部署 1.server1源码安装redis,并创建redis实例 2.server2主机, ...

  10. Redis基础笔记(下)

    Redis基础(下) Linux命令 1.cd:更改目录 cd~回到初始目录 cd - 回到上级目录 2.mkdir 创建目录 3.cp 拷贝文件 eg:cp redis 5.06/redis.con ...

最新文章

  1. hdu4499 搜索
  2. 【商业落地篇】Gartner第四范式全球首发AutoML系列白皮书(限时免费下载)
  3. 第四篇 群聚类非线性表的编程实验 第11章 应用图的遍历算法编程
  4. 新年巨献!祝所有朋友新一年闪闪发光
  5. 文本相似度几种计算方法及代码python实现
  6. URAL1815 Farm in San Andreas(费马点,圆圆相交)
  7. 数据分析来诠释985/211废物的焦虑与失意
  8. HDU 1255 覆盖的面积(线段树+扫描线)
  9. Hdoj 1064 Financial Management
  10. 23. 从上往下打印二叉树[层序遍历](C++版本)
  11. 天网防火墙去掉更新提示对话框
  12. C++多线程 - 无锁编程
  13. 教你实现一个 iOS 重签名工具
  14. 百词斩不复习_有人用过百词斩和不背单词两款背单词app吗?良心推荐哪一个好一点?...
  15. 黑苹果音频卡顿_DXOMARK 公布无线音箱音质基准:苹果华为 Sonos 上榜
  16. ExcelWriter 导出excel
  17. azkaban任务状态一直在Preparing状态不能更新的解决办法
  18. 关于计算优惠券金额的部分优化
  19. 高质量程序设计指南:C++/C语言
  20. java核心技术卷一,java面试题大全带答案

热门文章

  1. Java面向对象7大设计原则讲解
  2. 委托(C#入门详解学习笔记)
  3. 方舟服务器参数文件,《方舟:生存进化》参数文件ini设置教程
  4. 商机 | 大数据/政务云采购清单 招标5起,最高招标价为500万(11.22-11.24)
  5. VirtualBox中安装Windowsxp遇到的问题及解决方法
  6. 2021年最新大厂php+go面试题集(三)
  7. Linux中内存管理详解
  8. 微信小程序开发中,onLoad() 和onShow()的区别
  9. IList(T) 方法
  10. 台式计算机会消失吗,在未来台式机必然会消失,只剩下一体机,一体机过几年也将会消失...