redis的持久化机制

一、首先什么是redis的持久化?

答:持久化就是把内存中的数据存放到磁盘中,防止宕机后内存数据丢失。

二、Redis 的持久化机制是什么?各自的优缺点?

1、RDB:是Redis DataBase缩写快照

RDB是Redis默认的持久化方式。按照指定的时间间隔内将内存的数据以快照的形式保存到硬盘中,对应产生的数据文件为dump.rdb。通过配置文件中的save参数来定义快照的周期。

恢复时,将rdb文件直接读到内存中,具体做法:将rdb文件放到redis的启动目录上,redis会自动检查dump.rdb文件,恢复数据

 

具体操作:

 

 

 

优点:(1)适合大规模的数据恢复(使用单独子进程来进行持久化,主进程不会进行任何 IO 操作,保证了 redis 的高性能)

           

缺点:(1)需要一定的时间间隔进行操作,无法做到实时持久化,所以适合对数据完整性不高的持久化操作

   (2)fork子进程的时候,会占用一定的内存空间

2、AOF持久化(即Append Only File持久化),则是将Redis执行的每次写命令记录到日志文件中,当重启Redis会加载appendonly.aof文件来恢复数据。

      默认是不采用AOF的,需要在配置文件中修改

AOF是存放每条写命令的,所以会不断的增大,当大到一定程度时,AOF会做rewrite操作,rewrite操作就是基于当时redis的数据重新构造一个小的AOF文件,然后将大的AOF文件删除。

 

优点:

(1)AOF日志文件适合做灾难性的误删除紧急恢复,如果某人不小心用flushall命令清空了所有数据,只要这个时候还没有执行rewrite,那么就可以将日志文件中的flushall删除,进行恢复。

(2)每进行一次 命令操作就记录到 aof 文件中一次 保证了数据的安全性和完整性

(3)AOF以append-only的模式写入,所以没有任何的磁盘寻址的开销,写入性能非常的高。

缺点:AOF 文件比 RDB 文件大,且恢复速度慢

 

posted @   11111ghm  阅读(1833)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示