redis 主从实现

CCF CSP历年题解(python) 菜鸡一枚,没参加过算法竞赛,单纯为了抵研究生考试复试才刷题,通过写博客记录下来,希望能和大家互相交流,代码质量不高,大家见谅。 因为考研等原因,题目不定期更新… 第一题 201312-1出现最多次数的数 ... 阅读详情

一:Redis 数据存储方式

Redis 数据库中的所有数据存储在内存中,为了数据安全,同时也会进行数据持久化处理。Redis 持久化的方式主要有两种: RDB方式和AOF方式。

 

1RDB方式:RDB的持久化是通过快照来完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照,并存储在硬盘上。进行快照的参数可以有配置文件指定,主要由两个参数构成:时间和改动的键的个数。 RDB是redis采用的默认持久化方式,默认情况下使用save命令指定了3个条件,所有条件之间是“或”的关系。例如 save 900 1 即 15分钟(900秒)内至少有一个键被更改则进行快照。

  Redis快照过程如下:

1.      当触发Redis快照条件时,Redis使用fork函数复制一份当前进程(父进程)的副本(子进程)

2.      父进程继续接收并处理客户端发过来的命令,而子进程开始将内存中的数据写入硬盘中的临时文件;

3.      当子进程写完所有数据后会用该临时文件替换旧的RDB文件,至此一次快照的操作就完成了。

这时候就会有疑问了,如果子进程在快照期间,父进程写了某片数据,子进程怎么办呢?

在执行frok函数时,操作系统(类Unix系统)会使用写时复制(copy–on-wirte)的策略,即fork函数发生的一刻父进程和子进程共享一个内存数据,当父进程修改某片数据时,操作系统会将该片数据复制一份以保证子进程不受影响,所以RDB快照时fork函数执行一刻的Redis数据库快照。

2AOF方式:AOF(append only file)是每执行一条更改Reids中数据的命令,Redis就会将该命令写入磁盘中的AOF文件中。这样做是为了确保实时的持久化所有的数据,减少数据的丢失的可能性,但是事实上,由于操作系统的缓存机制,数据并没有真正的写入磁盘,而是写入了硬盘缓存中。所以默认情况下是每30秒执行一次同步操作,以便将数据真正写入磁盘中。

二:Redis复制原理

Redis 复制配置只需要在从库的配置文件中开启 SLAVEOF host post就可以了。当配置完从数据库,启动数据时。从库就会向 SLAVE 所填写的host主键的 post端口发送 SYNC命令,主库接收到SYNC命令时,就会开始在后台进行快照,并且保存期间接收到的客户端命令缓存起来。当快照完成后,主数据库就会将快照文件以及缓存的命令发送到从数据库。从数据库接收后,会加载二进制快照文件并执行缓存命令。当主从数据库断开重连后会重新执行从数据发送SYNC命令到从数据库加载二进制快照文件执行缓存命令操作,因为Redis不支持断点续传。

 

三:复制实现过程

1.      查看从数据的keys


2.      开启从数据库的SLAVEOF 命令


3.      重启从数据库,如果主库有设置密码,从库需要设置masterauth 密码为主库密码

4.      用redis-cli登录使用info命令查看从库信息


5.      查看数据是否同步

通过验证Redis主从同步是可行的,删除已经同步过来的key再重启从服务器,从服务器删除的keys会重新同步过来。即主数据库会通过最新的快照和缓存命令到从服务器。

验证主数据会同步最新快照如下:

1.删除从服务器对应的dump.rdb文件(先停服务)


2.查看从服务器的keys是否为空(关闭slave,再重启)


3.重新开启slave,查看同步的keys,通过检测和主服务器的keys相同。

四:主从同步监控

可以在从数据库和主数据库分别使用info命令来查看主从同步的状态。

从数据库:


主数据库:


五:同步性能

//todo

BIDS数据存储格式介绍与dcm2bids安装与使用 BIDS格式&dcm2bids安装与使用 阅读详情

相关推荐

STM32F407与AD7766实战:如何用SPI+DMA实现高速ADC数据采集(附完整代码)

本文详细介绍了如何利用STM32F407的SPI接口与DMA控制器,高效稳定地驱动24位高精度ADC芯片AD7766,实现高速连续数据采集。通过对比传统中断方式的瓶颈,阐述了SPI+DMA方案如何大幅降低CPU负载,并提供了从硬件设计、CubeMX配置到核心驱动代码的完整实战指南,帮助工程师解决高速ADC数据采集中的性能难题。

weixin_29281941的博客 188

Redis主从模式(二):实现原理(全量复制、部分复制)

Redis结点间的复制由从库主动发起。Redis2.8前由sync命令执行,sync命令只能支持全量复制,Redis2.8及其以后,使用psync命令执行,该命令即支持全量复制,有支持部分复制。 对于主从间的复制,当从库第一次复制数据时,使用全量复制,后面过程当主库处理了写数据后,会将数据自动同步给从库(异步执行)。而部分复制的时机是在从库复制主库的数据时发生异常,带恢复后,发起的一次补救复制,由于这时只涉及部分数据,所以数据同步时间会较短。 下面的主从复制原则分析,也是基于psync来说明的。 一、asy

qq_40728028的博客 690

西门子与汇川伺服脉冲连接(速度模式)

如何使用西门子PLC与汇川伺服进行脉冲连接

2301_77347966的博客 1万+

Redis(十四) 主从模式

redis主从复制

不能再留遗憾了的博客 1447

【校招】SHL 的 General Ability (GA, 通用能力测试)

SHL 的 General Ability (GA, 通用能力测试) 文章目录SHL 的 General Ability (GA, 通用能力测试)1、归纳推理题1.1 圈圈线条推理1.2 图形颜色位置推理1.3 箭头指向推理2. 数字推理题攻略3. 语言推理题 1、归纳推理题   归纳推理题我把它总结为三种类型:圈圈线条推理;图形颜色位置推理;箭头指向推理。 1.1 圈圈线条推理   你别看这个题目看起来很复杂,其实很简单,而且这个题型的题目背后原理都一样!我把我的 tips 偷偷分享给你们嘿嘿~先从 A

Sunnyside_ 2万+

手把手教你用OpenRouter免费模型:从DeepSeek V3.1到Llama 3.3的实战指南

本文详细介绍了如何利用OpenRouter平台免费接入DeepSeek V3.1、Llama 3.3等53个AI模型,提供从账号注册到实战应用的完整指南。通过文本摘要、客服对话生成和代码生成等具体案例,帮助开发者高效利用免费模型资源,提升AI应用开发效率。

weixin_29258297的博客 3558

Redis 如何实现主从复制

什么是主从复制(Master/Slave)? 我们的数据一般是存储在数据库中,为了保证数据的高可用,我们一般使用多台数据库服务器做集群。选中其中的一台作为主服务器(Master),其余的作为从服务器(Slave)。Master 上的数据更新后根据配置文件配置的策略,自动同步到 Slave 上,这就是主从复制。 主从复制有什么作用? 保证了数据的高可用。因为数据在多台服务器上存储了多份,即使一...

墨痕诉清风的博客 2844

微信电脑版本不会自动下载图片吗?——没有找到解决方法。——只会默认下载doc等文件,图片不行,需要自己另存为——有什么办法解决吗?

微信电脑版本不会自动下载图片吗?——没有找到解决方法。——只会默认下载doc等文件,图片不行,需要自己另存为——有什么办法解决吗?此外,用户还可以选择将接收到的图片、视频和文件保存到指定的文件夹中。‌用户可以在微信设置中调整这一设置。

qq_15963745的博客 5088

Redis 主从复制详解:实现高可用与数据备份

Redis 主从复制是一种数据同步机制,允许将一个 Redis 实例(主节点)的数据复制到一个或多个 Redis 实例(从节点)。主节点负责处理写操作,而从节点负责复制主节点的数据,并提供读操作。Redis 主从复制是一种高效、简单的数据同步机制,适用于数据备份、读写分离、高可用性等场景。尽管它存在数据延迟和故障切换复杂的缺点,但在许多场景中仍然表现出色。

秃头之旅 1161

DiffusionDriveV2 (1) : 端到端自动驾驶中受强化学习约束的截断扩散建模

DiffusionDriveV2:强化学习约束的截断扩散模型在端到端自动驾驶中的应用 本文针对端到端自动驾驶中扩散模型面临的模式崩溃问题,提出DiffusionDriveV2框架。该方法通过引入强化学习约束,解决了DiffusionDrive依赖模仿学习导致的多样性与持续高质量之间的困境。主要创新包括: 采用尺度自适应乘法噪声促进广泛探索 提出锚点内GRPO管理单个锚点样本间的优势估计 设计锚点间截断GRPO整合全局视角,避免不同驾驶意图间的不当比较 实验表明,该方法在NAVSIM基准测试中达到最先进水平(

@bangbang的博客 381

YOLOv11知识蒸馏实战:让小模型拥有大模型90%精度,速度提升3倍的终极教程

在self.alpha = alpha # 蒸馏损失权重self.temperature = temperature # 温度系数,控制分布平滑度# 输出分布蒸馏(KL散度损失)# 中间特征蒸馏(MSE损失,对齐中间层特征)# 总蒸馏损失知识蒸馏是YOLOv11在“小模型高性能部署”场景的“破局之法”——它让小模型能“站在大模型的肩膀上”,兼具速度与精度。从损失函数定义到多阶段训练,再到实战落地,本教程已为你铺就了一条清晰的路径。

m0_64661770的博客 802

五、Redis 主从集群 —— 超详细操作演示!

对于Master宕机后的冷处理方式是无法实现高可用的。Redis 从 2.6 版本开始提供了高可用的解决方案Sentinel哨兵机制。在集群中再引入一个节点,该节点充当Sentinel哨兵,用于监视Master的运行状态,并在 Master 宕机后自动指定一个Slave作为新的Master。整个过程无需人工参与,完全由哨兵自动完成。不过,此时的Sentinel哨兵又成为了一个单点故障点:若哨兵发生宕机,整个集群将瘫痪。所以为了解决Sentinel的单点问题,又要为Sentinel创建一个集群,即。

weixin_43412762的博客 2856

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Redis主从复制实现RCE

主从复制是指将一台Redis主服务器的数据,复制到其他的Redis从服务器。前者称为主节点(master),后者称为从节点(slave);主服务器可以进行读写操作,当发生写操作时自动将写操作同步给从服务器,而从服务器一般是只读,并接受主服务器同步过来写操作命令,然后执行这条命令。 也就是说,所有的数据修改只在主服务器上进行,然后将最新的数据同步给从服务器,这样就使得主从服务器的数据是一致的。建立主从复制,有3种方式:PS:建立主从关系只需要在从节点操作就行了,主节点不用任何操作我们先在同一个机器开两个red

rev1ve的博客 4979

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

redis如何实现主从复制

持久化保证了即使 redis 服务重启也会丢失数据,因为 redis 服务重启后会将硬盘上持久化的数据恢复到内存中,但是当 redis 服务器的硬盘损坏了可能会导致数据丢失,如果通过 redis 的主从复制机制就可以避免这种单点故障.

张姐姐聊编程 1762

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【redis-07】redis实现主从复制架构和底层原理

redis实现主从复制架构和底层原理

zhenghuishengq的博客 1660

02-Redis主从集群实现

持久化技术只是解决了Redis服务故障之后,快速数据恢复的问题。宕机和数据恢复的过程中整个业务系统来说,还是有损失的,并没有根本上提升可用性问题,而且持久化技术对于Redis服务性能来说是**有损**的。我们需要的是保障Redis的高可用,减少甚至避免Redis服务发生宕机的可能。目前实现Redis高可用的模式主要有三种:主从模式、哨兵模式、集群模式。Redis提供的主从模式,是通过复制的方式,将主服务器上的Redis的数据同步复制一份到从Redis服务器,这种做法很常见,MySQL通过。

m0_71788802的博客 977

Redis之主从复制的实现原理

Redis之主从复制的实现原理 必备知识:https://blog.youkuaiyun.com/sinat_32366329/article/details/81160282 如果不具备RDB持久化知识,请先看完这篇文章。 旧版复制功能的实现 Redis的复制功能可以分为同步和命令传播两个操作: 同步操作用于将从服务器的数据库状态更新至主服务器当前所处的状态。 ...

一叶知春秋 8842

Redis 主从复制的实现原理是什么?

Redis 的主从复制是指一个 Redis 实例(主节点)可以将数据复制到一个或多个从节点(从节点),从节点从主节点获取数据并保持同步。PSYNC。

Rookie 727

Redis 主从复制的实现及配置

文章目录Redis 主从复制的实现及配置 Redis 主从复制的实现及配置

花开一千年,花落一千年,花叶永不见 11万+

java redis 主从配置_Redis主从复制的配置和实现原理

Redis的持久化功能在一定程度上保证了数据的安全性,即便是服务器宕机的情况下,也可以保证数据的丢失非常少。通常,为了避免服务的单点故障,会把数据复制到多个副本放在不同的服务器上,且这些拥有数据副本的服务器可以用于处理客户端的读请求,扩展整体的性能下面会介绍Redis的主从复制配置和实现原理,后续还会有Redis的高可用方案:哨兵机制(Sentinel)、分区集群(Cluster)什么是主从复制我...

weixin_39887846的博客 340

Redis从入门到精通(三)Redis如何实现的主从架构

Redis从入门到精通(三)Redis如何实现的主从架构

qq_41490913的博客 109

Redis主从复制的实现

本文主要介绍了Redis中主从复制的实现原理,以及旧版和新版的区别

Z..........的博客 441

Redis——redis的安装以及实现redis的主从复制

一.什么是redis redis是一个开源的,遵守BSD协议,是一个高性能的key-value数据库,内存存储的数据结构服务器,可用作数据路,高速缓存和消息队列的代理。支持字符串,哈希表,列表,集合,有序集合,位图,hyperloglogs等数据类型。内置复制,lua脚本,LRU收回,事务以及不同级别磁盘持续化功能,同时通过redis sentinel提供了高可用,通过redis cluster提...

试试看吧。 307

springboot+shiro-redis 使用Redis sentinel(哨兵)主从实现

最近公司项目遇到一台服务器崩溃导致项目无法运行,因项目采用单点的 Redis做session共享,权限处理,所以想到采用Redis主从方式这样降低耦合性,为方便以后查阅特记录此处。 服务器系统为centos 7 redis 4.0.6 两台主从Redis服务器: 192.168.0.35 6379 主 192.168.0.34 6379 从一、Redis安装 cd ...

weixin_34194087的博客 1164

Redis两台服务器间实现主从自动切换高可用

方案优点缺点单机部署简单、只需一台服务器当该服务器出现故障则无法提供Redis服务哨兵模式当无法连接的Redis节点小于一半(不包含一半)时任然可以提供服务需要3台及以上服务器集群模式包含哨兵模式的优点,又具备负载均衡的特性包含哨兵模式的缺点,且不具备在线扩展的能力,部署难度也相对提高互为主从(keepalived版)2台服务器即可实现,基本可实现非人为干预高可用从服务出现问题到切换完成需要一定时间,可能需要1.2秒。部署需要而外申请一个IP用作VIP互为主从(上文方式)

weixin_43834928的博客 4815

Redis之主从复制的实现

Redis高可用的方案包括持久化、主从复制(及读写分离)、哨兵和集群。这边文章就来介绍一些Redis的复制功能。 在Redis中,用户可以通过执行SLAVEOF命令或设置salveof选项,让一个服务器去复制另一个服务器,我们称被复制的服务器叫主服务器(master),对主服务器进行复制的服务器叫做从服务器(slave)。 为什么要使用主从复制 当主服务器挂掉之后,从服务器可以继续工作,从而实现快速的故障恢复,可以看做是数据备份。 在主从复制的基础上实现读写分离,即写在主服务器(master),读在从服

程铭程铭你快成名的博客 8916
上一篇: redis cluster实现
下一篇: ubuntu LVM搭建
youbo_sun
博客等级 码龄12年 20粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值