Redis 持久化之RDB操作
Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消逝,所以Redis提供了持久化功能!
在主从复制中,rdb就是备用的,存在从机上边,不占用主机资源。
RDB:
- 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读取到内存里。
- Redis会单独创建fork一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化都结束了,再用这个临时文件替换上次持久化好的文件,整个过程中,主进程是不进行任何IO操作的。这就确保了级高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式就要比AOF方式更加的高效。
- RDB的缺点:是最后一次持久化的数据可能丢失。
- 我们在生产环境会将dump.rdb这个文件进行备份。
redis默认的就是RDB持久化,一般情况下不需要修改这个配置。
rdb保存的文件就是dump.rdb文件
在 redis.windows.conf (windows版本)配置文件中也可以查看配置:
我们可以自己修改配置
触发机制:
①save的规则满足的情况下,会自动触发rdb规则
②执行flushall命令,也会触发rdb规则
③退出redis时,也会产生rdb文件!
备份就自动生成一个dump.rdb文件。
如何恢复rdb文件:
① 只需要将rdb文件放在我们的redis启动目录就可以,redis启动的时候会自动检查dump.rdb恢复其中的数据!
② 查看需要存在的位置:
127.0.0.1:6379> config get dir
1) "dir"
2) "D:\\Program Files\\Redis"
127.0.0.1:6379>
rdb几乎它自己默认的配置就够用了。
优点和缺点:
① 优点:
- 适合大规模的数据恢复!
- 对数据的完整性要求不高!
②缺点:
- 需要一定的时间间隔进程操作!如果redis意外宕机了,这个最后一次修改数据就没有了!
- fork进程的时候,会占用一定的内存空间!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!