当前位置: 首页 > news >正文

Redis主从复制

Redis主从复制

主从实现

1、创建/myredis文件夹并复制redis.conf配置文件到文件夹中

2、配置一主两从,创建三个配置文件并在三个配置文件写入内容

3、启动三个redis服务

4、查看当前主机运行状况

5、在从机上执行 slaveof 主机ip 端口号

测试

主机上进行写操作

从机上只读不写

主机挂掉,重启如初!

复制原理

薪火相传

反客为主

哨兵模式

调整为一主二仆模式

配置哨兵

启动哨兵


主机数据更新后根据配置和策略, 自动同步到备机的 master/slaver 机制,Master 以写为主,Slave 以读为主,主从复制节点间数据是全量的。

主从实现

1、创建/myredis文件夹并复制redis.conf配置文件到文件夹中

Appendonly 关掉或者换名字

2、配置一主两从,创建三个配置文件并在三个配置文件写入内容

拷贝多个 redis.conf文件 include(写绝对路径)
Pid 文件名字 pidfile
指定端口 port
dump.rdb 名字dbfilename

3、启动三个redis服务

4、查看当前主机运行状况

info replication
打印主从复制的相关信息

5、在从机上执行 slaveof 主机ip 端口号

返回6379查看发现它下面多了两台从机

测试

主机上进行写操作

从机上只读不写

将6380挂掉后重连得到如下界面

主机挂掉,重启如初!

复制原理

1、当从连接上主服务器之后,从服务器 向主服务发送进行数据同步消息

2、主服务器接到从服务器发送过来同步消息,把主服务器数据进行持久化rdb文件,把rdb文件发送从服务器,从服务器拿到rdb进行读取

3、每次主服务器进行写操作之后,和从服务器进行数据同步

薪火相传

上一个 Slave,可以是下一个 slave的 Master,slave 同样可以接收其他 slaves 的连接和同步请求,那么该 slave作为了链条中下一个的 master,可以有效减轻 master 的写压力,去中心化降低风险。
用 slaveof <ip><port>
中途变更转向:会清除之前的数据,重新建立拷贝最新的
风险是一旦某个 slave 宕机,后面的 slave 都没法备份
主机挂了,从机还是从机,无法写数据了

反客为主

当一个 master 宕机后,后面的 slave 可以立刻升为 master,其后面的 slave不用做任何修改。

用 slaveof no one 将从机变为主机

这里以及提前将6379挂掉

哨兵模式

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

调整为一主二仆模式

6379带着6380、6381

配置哨兵

自定义的myredis 目录下新建sentnel.conf 文件,名字不能错

填写内容

其中 mymaster 为监控对象起的服务器名称,1为至少有多少个哨兵同意迁移的数量。

启动哨兵

执行redis-sentinel /myredis/sentinel.conf

执行后只要主机挂掉了他的从机会自动变为主机
如果再次启动原来的主机会变为新主机的从机

当主机挂掉,从机选举产生新的主机

哪个从机会被选举为主机呢?根据优先级别:slave-priority ,新版本变为了replica-priority

原主机重启后会变为从机。

1、选择优先级靠前的之

2、选择偏移量最大的

3、选择runid最小的从服务

优先级:在 redis.conf 中默认 slave-priority 100,值越小优先级越高。

偏移量:指获得原主机数据最全的概率。

runid:每个 redis 实例启动后都会随机生成一个 40 位的 runid。

 


http://www.mrgr.cn/news/67130.html

相关文章:

  • 练习LabVIEW第四十二题
  • RabbitMQ 不公平分发介绍
  • ssd作为hdd缓存加速方案
  • Java中的语法糖
  • 解读JobScheduler的jobs.xml
  • 关于 PDF 抽取的吐槽
  • 华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目——共8套(每套四十题)
  • 『VUE』20. 组件嵌套关系page(详细图文注释)
  • day-80 长度为 K 的子数组的能量值 I
  • 思维导图工具有哪些?10款思维导图特色介绍
  • ML 系列:机器学习和深度学习的深层次总结( 20)— 离散概率分布 (Bernoulli 分布)
  • 国际版JAVA同城打车源码同城服务线下结账系统源码适配PAD支持Android+IOS+H5
  • LSTM结构原理
  • 自动化测试中使用Pytest Fixture?推荐10种常见用法!
  • 【k8s】ClusterIP能http访问,但是不能ping 的原因
  • SpringAI QuickStart
  • C++练习题(2)
  • 2024亚太杯数学建模思路+代码+模型预定(更新见文末名片)
  • C语言---程序设计基础练习题目3
  • 修改elementUI等UI组件样式的5种方法总结,哪些情况需要使用/deep/, :deep()等方式来穿透方法大全
  • 【系统分析师】-案例-综合知识大全
  • 【AI换装整合包及教程】OOTDiffusion: AI换装工具的革命性创新
  • PAT 甲级 1076 Forwards on Weibo(30)
  • SparkSql输出数据的方式
  • 代码要走的路:编程“三部曲”
  • 基于Multisim光控夜灯LED电路(含仿真和报告)