当前位置:网站首页>什么是RDB和AOF
什么是RDB和AOF
2022-07-06 12:42:00 【51CTO】
RDB:Redis DataBase,在指定的时间间隔内将内存中的数据集快照写⼊磁盘,实际操作过程是fork⼀个⼦进程,先将数据集写⼊临时文件,写入成功后,再替换之前的⽂件,用⼆进制压缩存储。
优点:
- 整个Redis数据库将只包含⼀个⽂件dump.rdb,方便持久化。
- 容灾性好,方便备份。
- 性能最大化,fork子进程来完成写操作,让主进程继续处理命令,所以是 IO 最大化。使用单独子进程来进行持久化,主进程不会进⾏任何 IO 操作,保证了 redis 的高性能
- 相对于数据集⼤时,比AOF 的启动效率更高。
缺点:
- 数据安全性低。RDB 是间隔⼀段时间进⾏持久化,如果持久化之间 redis 发⽣故障,会发⽣数据丢失。所以这种⽅式更适合数据要求不严谨的时候。
- 由于RDB是通过fork⼦进程来协助完成数据持久化⼯作的,因此,如果当数据集较⼤时,可能会导致整个服务器停⽌服务几百毫秒,甚至是1秒钟。
AOF:Append Only File,以日志的形式记录服务器所处理的每⼀个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开⽂件看到详细的操作记录
优点:
- 数据安全,Redis中提供了3中同步策略,即每秒同步、每修改同步和不同步。事实上,每秒同步也是异步完成的,其效率也是非常高的,所差的是⼀旦系统出现宕机现象,那么这⼀秒钟之内修改的数据将会丢失。而每修改同步,我们可以将其视为同步持久化,即每次发⽣的数据变化都会被立即记录到磁盘中。
- 通过 append 模式写⽂件,即使中途服务器宕机也不会破坏已经存在的内容,可以通过 redis check-aof 工具解决数据⼀致性问题。
- AOF 机制的 rewrite 模式。定期对AOF⽂件进行重写,以达到压缩的目的
缺点:
- AOF 文件比 RDB 文件大,且恢复速度慢。
- 数据集大的时候,比rdb 启动效率低。
- 运行效率没有RDB高, AOF⽂件比RDB更新频率高,优先使用AOF还原数据,AOF比RDB更安全也更大,RDB性能比AOF好,如果两个都配了优先加载AOF。
边栏推荐
- 知识图谱构建流程步骤详解
- 使用.Net分析.Net达人挑战赛参与情况
- [DSP] [Part 1] start DSP learning
- 解剖生理学复习题·VIII血液系统
- 【微信小程序】运行机制和更新机制
- 02 basic introduction - data package expansion
- C language operators
- [weekly pit] calculate the sum of primes within 100 + [answer] output triangle
- APS taps home appliance industry into new growth points
- Gui Gui programming (XIII) - event handling
猜你喜欢
Introduction of Xia Zhigang
硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件
Application layer of tcp/ip protocol cluster
[diy] self designed Microsoft makecode arcade, official open source software and hardware
拼多多败诉,砍价始终差0.9%一案宣判;微信内测同一手机号可注册两个账号功能;2022年度菲尔兹奖公布|极客头条
永磁同步电机转子位置估算专题 —— 基波模型与转子位置角
Variable star --- article module (1)
设计你的安全架构OKR
[diy] how to make a personalized radio
Detailed explanation of knowledge map construction process steps
随机推荐
02 基础入门-数据包拓展
[DIY]自己设计微软MakeCode街机,官方开源软硬件
【每周一坑】信息加密 +【解答】正整数分解质因数
OAI 5G NR+USRP B210安装搭建
Initial experience of addresssanitizer Technology
[weekly pit] information encryption + [answer] positive integer factorization prime factor
Database - how to get familiar with hundreds of tables of the project -navicat these unique skills, have you got it? (exclusive experience)
Notes on beagleboneblack
Why do novices often fail to answer questions in the programming community, and even get ridiculed?
Comment faire une radio personnalisée
【DSP】【第二篇】了解C6678和创建工程
8086 instruction code summary (table)
Is it difficult for small and micro enterprises to make accounts? Smart accounting gadget quick to use
Rhcsa Road
[DSP] [Part 2] understand c6678 and create project
Continuous test (CT) practical experience sharing
Logic is a good thing
看过很多教程,却依然写不好一个程序,怎么破?
Function optimization and arrow function of ES6
Maximum likelihood estimation and cross entropy loss