千家信息网

Redis 中AOF和RDB的区别是什么

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这期内容当中小编将会给大家带来有关Redis 中AOF和RDB的区别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Redis数据存储模式有2种:cache-o
千家信息网最后更新 2025年01月23日Redis 中AOF和RDB的区别是什么

这期内容当中小编将会给大家带来有关Redis 中AOF和RDB的区别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。


Redis数据存储模式有2种:cache-only和persistence。

如果想要Redis仅仅作为纯内存的缓存来用,那么可以使用cache-only模式。对于persistence持久化存储,Redis提供了两种持久化方法:RDB以及AOF。通过RDB或AOF,都可以将Redis内存中的数据给持久化到磁盘上,然后可以将这些数据备份到别的地方去,比如云服务器。

RDB模式

Redis主进程fork一个子进程(?),让子进程执行磁盘IO操作来进行持久化。RDB将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,这些数据文件代表了某一个时刻中redis的数据。但是RDB是间隔一段时间进行持久化的,如果持久化之间redis发生故障,这一段时间内的数据就会丢失(RDB最大的缺点,导致不适合做第一优先的恢复方案,如果你依赖RDB做第一优先恢复方案,会导致丢失比较多的数据)。

为什么是子进程?

主要是出于Redis性能的考虑。

  • Redis RDB持久化机制会阻塞主进程,这样主进程就无法响应客户端请求。

  • Redis对客户端响应请求的工作模型是单进程和单线程的,如果在主进程内启动一个线程,这样会造成对数据的竞争条件,为了避免使用锁降低性能。基于以上两点这就是为什么Redis通过启动一个进程来执行RDB了。

AOF模式

可以简单的认为AOF就是日志文件,此文件只会记录"变更操作"(例如:set/del等),将"操作 + 数据"以格式化指令的方式append(追加,顺序写磁盘,没有任何磁盘寻址的开销,因此效率非常高)到操作日志文件的尾部(一般设置每秒一次),在append操作返回后(已经写入到文件或者即将写入),才进行实际的数据变更。"日志文件"保存了历史所有的操作过程;当server需要数据恢复时,可以直接replay此日志文件,即可还原所有的操作过程。

但是AOF文件比RDB文件大,且恢复速度慢。

若AOF文件过大,可以使用BGREWRITEAOF命令(BGrewriteAOF),优化aof文件

上述就是小编为大家分享的Redis 中AOF和RDB的区别是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

文件 数据 进程 日志 模式 磁盘 就是 内存 内容 客户 客户端 性能 方案 时间 线程 过程 分析 存储 个子 之间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 app手机软件开发工具 lol更新后服务器出现的问题 数据库常用的优化技术 网络安全法分工 金税盘安全接入服务器地址是哪个 linux下远程登录pg数据库 网站访问显示服务器出错怎么解决 中国最好的服务器厂 计算机软件开发项目例子 rust怎么找到服务器管理人员 服务器怎样看硬盘使用情况 网易如何修改服务器图片 曙光公司龙腾服务器的相关资料 游戏软件开发收费 卡巴斯基 服务器设置 岳阳软件开发培训价格 表格如何隐藏指定数据库 东方口岸安全数据库是什么 网络安全销售顾问是什么意思 战地2042社区服务器在哪 软件开发科研能买手机吗 福建安全云空间技术服务器 萤石云视频提示服务器不在线 温江网络安全性 口碑好的网络技术咨询诚信服务 曙光公司龙腾服务器的相关资料 服务器禁止使用选定的身份 简单好画的网络安全手抄报 服务器内部通知管理员 亚马逊云服务器如何查看密码
0