百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

一分钟了解redis中RDB持久化机制(redis rdb持久化方式的工作原理)

mhr18 2024-11-11 12:05 21 浏览 0 评论

Redis持久化机制有RDB和AOF两种实现方式;RDB采用定时持久化机制,是把当前内存中的数据集快照写入磁盘,恢复时直接将快照文件读取到内存里;如果Redis服务器因为某种原因宕机,那么数据将会丢失;

AOF持久化机制是基于数据日志操作实现的持久化,采用增量同步方案;

RDB持久化机制

Redis默认采用RDB方式实现数据的持久化,以快照的形式将数据(是一个二进制的文件dump.rdb)持久化到磁盘。

在redis中有两个进程,一个是主进程,专门去监听处理redis请求; 还有一个fork子进程,专门处理RDB数据同步。

RDB方式采用全量同步方案定时执行,比如:在redis客户端发起增删改的命令,redis会做一个监听,将数据集记录到一个二进制执行文件(dump),之后Redis会将数据集的快照dump覆盖到dump.rdb文件中。

RDB配置说明

定时执行频率可以自行设置,下面是redis默认配置说明:
save 900 1 :在900秒(15分钟)之后,如果至少有1个key发生变化,则保存在dump内存快照。
save 300 10 :在300秒(5分钟)之后,如果至少有10个key发生变化,则保存在dump内存快照。
save 60 10000 :在60秒(1分钟)之后,如果至少有10000个key发生变化,则保存在dump内存快照

rdbcompression yes :指定存储至本地数据库时是否压缩数据,默认是yes,redis采用LZF压缩;
rdbchecksum yes :对RDB文件进行校验;
dbfilename "dump.rdb" :RDB文件名称;
dir "~/redis/src" :存放RDB文件目录;
stop-writes-on-bgsave-error yes :当硬盘因为权限等原因无法写入时,停止写入;

RDB临时文件和最终RDB文件区别

使用RDB实现数据同步,RDB文件只会有一个,不会存在多个,第一次生成一个RDB文件(RDB临时文件)之后,第二次直接覆盖,最终一旦redis宕机之后,只会存在一个RDB文件(最终RDB文件),redis重启之后,会读取RDB文件(最终RDB文件),把数据恢复到内存里面;

那如果redis同步过程中宕机了,还会同步么?
如果redis同步失败,只能用之前的RDB数据,此时数据将会丢失;

如果对数据完整性要求很高,可以使用AOF持久化机制

相关推荐

软考架构师-案例分析之Redis(软考架构师真题)

软考架构师考试中,Redis的知识考了很多回,从最近几年来看,案例分析经常考,有的时候单独考,有的时候和其他知识点一起考。Redis过往的考试中,考过的知识如下:1、Redis特点,涉及数据类型、持久...

揭秘:视频播放网站如何精准记录用户观看进度

在互联网蓬勃发展的当下,视频内容已毫无争议地成为人们获取信息、享受娱乐休闲时光的核心方式。据权威数据统计,全球每天有数十亿小时的视频被观看,视频流量在网络总流量中的占比逐年攀升,预计在未来几年内将超过...

量子级一致性!Flink+Redis全局状态管理

百万级实时计算任务如何实现亚毫秒级状态访问?本文揭秘Flink+Redis的量子纠缠态状态管理方案,将状态延迟降至0.3ms。引子:实时风控系统的量子跃迁//传统Flink状态管理(基于RocksD...

在 Mac 上运行 Redis 的 Docker 容器

在Mac上运行Redis的Docker容器,你可以按以下步骤操作,非常简单高效:一、前提要求已安装DockerDesktopforMac可通过终端验证Docker是否可用:d...

从 0 到 1:使用 Nginx + Lua 打造高性能 Web 网关

在大规模分布式架构中,Web网关扮演着重要角色,负责请求转发、负载均衡、限流、认证等功能。而Nginx+Lua结合可以提供:o高性能:Nginx是目前最流行的高性能Web服务器o动...

外贸独立站缓存设置黑科技:用错Redis比没缓存更致命

上周帮一个杭州卖家排查网站崩溃问题,发现这老铁把Redis缓存设置成128MB还开着持久化,服务器内存直接炸得比春节红包还彻底——"你这哪是缓存啊,根本是DDoS攻击自己!"最近Clo...

Spring Boot3 整合 Redis,这些缓存注解你真的会用吗?

你在开发SpringBoot3项目时,有没有遇到过这样的困扰?随着项目功能不断增加,数据量逐渐庞大,接口响应速度变得越来越慢,用户体验直线下降。好不容易找到优化方向——引入Redis缓存...

MySQL处理并发访问和高负载的关键技术和策略

MySQL处理并发访问和高负载的关键技术和策略主要包括以下几个方面:一、硬件优化1.CPU:提升CPU处理能力可以明显改善并发处理性能。根据数据库负载,考虑使用更多的CPU核心。2.内存:增加内存可以...

druid解决高并发的数据库(druid多数据源配置 spring boot)

处理高并发的时候可以解决我们java一个核心问题java核心问题就是并发问题解决并发一个是redis一个是线程池的方式现在出来是个druid好像现在解决高并发的方式进行更换数据库的方式操作场景插入频繁...

高并发方案最全详解(8大常见方案)

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen睿哥。高并发是大型架构的核心,下面我重点来详解常见8大高并发方案@mikechen文章来源:mikechen.cc分...

MySQL如何处理并发访问和高负载?(mysql如何处理并发访问和高负载访问)

MySQL在处理并发访问和高负载方面,采取了一系列关键技术和策略,以确保数据库系统在面对不断增长的并发需求时维持高效和稳定的性能。以下是对这些技术和策略的详细阐述,旨在全面解析MySQL如何处理并发访...

Redis高可用集群详解(redis高可用方案以及优缺点)

Redis集群与哨兵架构对比Redis哨兵架构在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具监控master节点状态,如果master节点异常,则会做主从切换,将某一台sla...

MCP协议重大升级!Spring AI联合阿里Higress,性能提升300%

引言:一场颠覆AI通信的技术革命2025年3月,MCP(ModelContextProtocol)协议迎来里程碑式升级——StreamableHTTP正式取代HTTP+SSE成为默认传输层。这一...

阿里三面被挂,幸获内推,历经5轮终于拿到口碑offer

作者:Java程序猿阿谷来源:https://www.jianshu.com/p/1c8271f03aa5每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例...

来瞧瞧阿里一面都面些什么(笔试+机试)

絮叨说实话,能有机会面一下阿里对我来说帮助确实有蛮多,至少让我知道了自己的不足在哪,都说面试造火箭,上班拧螺丝。但就算是如此,为了生存,你也只有不停的学习,唯有光头,才能更强。哈哈起因2月28日在Bo...

取消回复欢迎 发表评论: