【Redis7】Redis持久化机制之RDB
Redis 的 RDB 持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是Snapshotting。
RDB 的优点是:
- 一旦采用该方式,整个Redis数据库将只包含一个文件,方便进行备份和恢复。
- 对于恢复大数据集来说,RDB是一种比AOF更快的方式。
- 对于性能的影响较小,RDB在指定的时间间隔进行保存,对服务器性能的影响可以控制。
RDB的缺点是:
- 如果你需要尽量减小数据丢失的风险,RDB可能不适合你。因为RDB是间隔一段时间进行保存,如果Redis意外宕机,那么可能会丢失最后一次快照后的数据。
- RDB需要经常fork子进程来执行IO操作,如果数据集很大,可能会造成较长时间的阻塞。
配置RDB快照保存的时机,可以在redis.conf中设置:
save 900 1 # 900秒内至少1个键被修改则触发保存
save 300 10 # 300秒内至少10个键被修改则触发保存
save 60 10000 # 60秒内至少10000个键被修改则触发保存
如果你想关闭RDB,可以将所有的save指令注释掉或者设置为空。
RDB的文件默认为dump.rdb,可以通过配置dir选项来指定保存的目录,通过配置dbfilename选项来指定文件名。
dir ./
dbfilename dump.rdb
启动Redis时,如果指定了RDB文件,Redis会尝试加载该文件进内存。
注意:Redis的RDB文件是一个压缩过的二进制文件,不能直接编辑。如果需要修改RDB文件,可以使用Redis提供的工具redis-check-rdb来进行处理。
评论已关闭