目录
Redis作为一个基于内存的键值对数据结构服务器,其所有的数据都是保存在内存中的,也就是说,如果没有持久化操作,当Redis服务器重启时,里面的数据都会全部被清空,内存空间会被其它进程占用。数据持久化允许将数据写入到硬盘中,以供数据库备份或是故障后的恢复,Redis提供的持久化方式有两种RDB和AOF,这篇日志我们先来总结下RDB,它是Redis默认使用的的持久化方式。
使用RDB
RDB方式就是在对数据库的写操作产生/修改的数据从内存写入到磁盘,什么时候需要将内存中的数据写入磁盘呢?这是根据设定时间内执行的写操作次数决定,例如每900秒内有超过一个键发生了改变,就会将此时内存中的数据写入到磁盘中,默认情况下写入到名为dump.rdb的文件中,下一次Redis服务器重启时就会通过该文件进行数据恢复。对于RDB写入磁盘条件参数的设置,我们可以在redis.conf文件中看到,打开redis.conf文件查找SNAPSHOTTING:

可以看到有三个参数配置,分别是900秒内有超过一个键修改、300秒内有超过10个键修改以及60秒内有超过10000个键修改,这些情况下Redis都会进行一次内存数据写入磁盘的持久化操作。
&nbs

Redis的持久化方式包括RDB和AOF,本文重点介绍RDB。RDB会在设定条件(如900秒内1个键变化等)下将内存数据写入磁盘的dump.rdb文件,用于数据恢复。SAVE命令可能导致阻塞,而BGSAVE则在后台非阻塞执行。RDB文件格式包含魔数、版本号等信息,便于文件验证和解析。RDB的优点是备份简单,但可能丢失最近未持久化的数据。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



