Redis主从复制(七)
一、是什么
主机数据更新后根据配置和策略,自动同步到备机的 master/slaver 机制。Master以写为主,Slave以读为主。
二、能干嘛
- 读写分离,性能扩展
- 容灾快速恢复
一主多从
三、怎么玩:主从复制
尝试搭建一个 一主两从
步骤:
创建
/myredis
文件夹复制
redis.conf
配置文件到文件夹中配置
一主两从
,创建三个配置文件redis6379.conf redis6380.conf redis6381.conf
在三个配置文件中写入内容
include /myredis/redis.conf pidfile /var/run/redis_6379.pid port 6379 dbfilename dump6379.rdb
将三个redis服务全部启动
查看三台主机运行情况,三个都是主机,没有主从效果
配置从机
# 成为某个实例的从服务器 slaveof <ip> <port> slaveof 127.0.0.1 6379
测试
主从复制
在主机中写操作,会自动复制一份到从机中去。
在从机中写操作,报错了。从机中只能做读操作。
四、常用3招
4.1 一主二仆
4.1.1 假设从机宕机
开启三个服务 6379
, 6380
, 6381
,设置6379为主机,另外两个为从机。
假设6381从机宕机,这时候,6379主机新增数据,看看会发生什么?
结论:
当从机挂掉了,再重新启动从机后,从机并不能加入到原先的主从关系中,需要重新手动加入。当重新加入后,它会把主机中的数据从头完整地复制一遍到从机。
4.1.2 假设主机宕机
开启三个服务 6379
, 6380
, 6381
,设置6379为主机,另外两个为从机。
假设6379主机宕机,看看会发生什么?
4.1.3 主从复制原理
4.2 薪火相传
一个主机只管理一个从机,其他小从机交给主机的直属从机管理。
附庸的附庸不是我的附庸
中途变更转向:会清除之前的数据,重新建立拷贝最新的
风险:一旦某个从机宕机了,后面的小从机都没办法备份主机的内容。
4.3 反客为主
当一个主机宕机后,后面的从机可以立刻晋升为主机,其后面的小从机不用做任何修改。
可是现在只能手动 slaveof no one 让从机晋升为主机。若要让从机在主机宕机后自动晋升为主机,需要“哨兵模式”。
五、哨兵模式
5.1 是什么
“反客为主”的自动版,能够后台监控主机是否故障,如果主机故障了可以根据投票数自动将从机转为主机。
5.2 怎么使用
步骤:
先调整为一主二仆模式
自定义的
/myredis
目录下新建sentinel.conf
文件,名字绝对不能错误。配置哨兵,填写内容
# 其中 mymaster 是为监控对象起的服务器名称(外号),1 是至少有多少个哨兵同意切换 sentinel monitor mymaster 127.0.0.1 6379 1
启动哨兵
当主机挂掉,从机选举中产生新的主机(要稍微等待一会儿,等待哨兵监测到,然后再次启动主机)
5.2.1 复制延时
由于所有的写操作都是先在 主机 上操作,然后同步更新到 从机 上,所以从 主机 同步到 从机 上有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,从机 数量的增加也会使这个问题更加严重。
5.3 故障恢复
- 优先级在
redis.conf
中默认:replica-priority 100
,值越小优先级越高
在 vim 中,命令模式输入 ::set mu 开启行号
- 偏移量是指获得原主机数据最全的(从原主机那里获得了几个数据)
- 每个reids实例启动后都会随机生成一个40位的
runid
5.4 主从复制Java中
连接池中修改部分内容。
参考资源:
- B站尚硅谷:https://www.bilibili.com/video/BV1Rv41177Af?p=1
Redis主从复制(七)相关推荐
- redis主从复制故障转移
Redis主从复制与故障切换 目录 目录1 一.概述1 二. 实验目的2 三.试验环境2 四. 说明2 五. 拓扑2 六. 实施步骤2 6.1.分别安装redis2.8.32 6.2.配置主从同步3 ...
- Redis—主从复制
原文作者:编程迷思 原文地址:深入学习Redis(3):主从复制 一.主从复制概述 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前者称为主节点(master),后者称为从 ...
- 七天玩转Redis 第七天打卡 Redis常见面试题及课程总结
七天玩转Redis 第七天打卡 Redis常见面试题及课程总结 主要总结点: 截止到今天,七天玩转Redis课程就马上结束了,学以致用,那么学会了Redis,在找工作时会有哪些面试官爱问的问题呢? 一 ...
- Redis 主从复制的原理及演化
一.什么是主从复制 在数据库语境下,复制( replication)就是将数据从一个数据库复制到另一个数据库中.主从复制,是将数据库分为主节点和从节点,主节点源源不断地将数据复制给从节点,保证主从节点 ...
- Redis主从复制与Redis集群
Redis主从复制与Redis集群 前言 一.主从复制 1.是什么? 2 能干嘛 3 怎么玩:主从复制 4 新建redis*.conf配置文件 5.主从集群常用3种 1 主从模式一:一主二从 2 主从 ...
- Redis主从复制配置
环境描述 Redis Master:192.168.1.100 6379(Ubuntu系统) Redis Slave1:192.168.1.101 6380(Ubuntu系统) Redis Slave ...
- 深入剖析Redis系列(七) - Redis数据结构之列表
前言 列表(list)类型是用来存储多个 有序 的 字符串.在 Redis 中,可以对列表的 两端 进行 插入(push)和 弹出(pop)操作,还可以获取 指定范围 的 元素列表.获取 指定索引下标 ...
- redis+主从复制+集群配置
redis+主从复制+集群配置 redis是一个key-value存储系统.和memcached类似,不过redis支持的value类型更多,主要有:string(字符串).list(链表).set( ...
- cxgrid主从表 点+号展开_深入理解Redis主从复制
一.背景 前面的文章中,我们介绍过Redis的持久化机制,它可以实现Redis实例数据的crash-safe.但是这里有一个问题,就是Redis其实还存在着单点故障问题,比如说Redis的硬盘坏掉了, ...
- Redis主从复制下的工作原理
Redis主从复制下的工作原理 Redis主从复制的配置十分简单,它可以使从服务器是主服务器的完全拷贝.需要清楚Redis主从复制的几点重要内容: 1)Redis使用异步复制.但从Redis 2.8开 ...
最新文章
- [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二
- 从头开始学习Unity着色器
- Android Studio 更新失败解决方法
- 【算法】anchor free 和 anchor based 目标检测模型
- 【android】静态链接器/加载器(ld) 动态加载器(/system/bin/linker)+动态加载接口(dlopen)
- Node.js 博客实例(三)添加文件上传功能
- telnet不能用,提示:-bash: telnet: command not found
- java实用教程——组件及事件处理——ItemEvent事件(设置字体类型)
- c语言模拟实现库函数strcat,【C语言】模拟实现库函数strcat函数
- Kali Linux 网络扫描秘籍 第七章 Web 应用扫描(二)
- 一加屏幕检测代码_一加7Pro深度体验:亿元屏幕真曲面
- php libiconv close_undefined reference to `libiconv_open 无法编译PHP
- 高等数值计算方法第一章引论【误差,条件数】
- 易语言使用超级模块 全局热键
- excel快捷键设置
- 031_组件 reRender控件和rendered控件的使用
- 在list中插入一个数据
- Android自动股票,腾讯股票自选股 Android 版上线 - YangJunwei
- AI智能电话机器人错误码大全解析
- 树莓派与微雪触摸屏连接
热门文章
- 王者荣耀东西对决志竞巅峰,谁能新王加冕
- 程序员,你赞同柏拉图的爱情观吗?
- oracle 11g创建表空间,创建用户并赋予权限,导入dmp和导出dmp文件
- 安卓手机必备实用app,看看你的手机里面有没有
- 修改ubuntu hostname
- 计算机应用基础(专)【4】
- 2019年第三周作业
- Source Map介绍 -浏览器篇
- 2020电商新宠儿:天猫无货源模式,一位电商老手来告诉你怎么做
- RuntimeWarning:... received a naive datetime while time zone support is active,对USE_TZ = False的解释。