redis中数据整体备份的若干困惑

redis中数据整体备份的若干困惑,redis,backup,Redis,Backup,文件说明: 每当Redis需要将数据集转储到磁盘时,都会发生以下情况: Redis forks。我们现在有一个子进程和一个父进程。 孩子开始将数据集写入临时RDB文件 当孩子完成写入新的RDB文件时,将替换旧的文件 因为我想备份整个数据,所以我在redis cli中键入shutdown命令,希望它关闭,并将所有数据保存到dump.rdb。在它完全关闭后,我转到db位置,看看会发生什么,dimpr.rdb是423.9MB,temp-21331.rdb是180.5MB。temp文件仍然存在,并且比

文件说明:
每当Redis需要将数据集转储到磁盘时,都会发生以下情况:
Redis forks。我们现在有一个子进程和一个父进程。
孩子开始将数据集写入临时RDB文件
当孩子完成写入新的RDB文件时,将替换旧的文件


因为我想备份整个数据,所以我在redis cli中键入
shutdown
命令,希望它关闭,并将所有数据保存到
dump.rdb
。在它完全关闭后,我转到db位置,看看会发生什么,
dimpr.rdb
是423.9MB,
temp-21331.rdb
是180.5MB。temp文件仍然存在,并且比
dimpr.rdb
小。显然,redis不使用temp文件替换
dump.rdb


我想知道
dump.rdb
此时是否是整个db文件?删除临时文件是否安全。

临时-21331.rdb的文件mod timestamp说明了什么?听起来像是撞车的残留物。 你可以删除它

文档绝对正确。重写时,所有信息都写入临时文件(压缩),完成后,
dump.rdb
文件将替换为该临时文件。但是,在正常使用过程中,不应出现剩菜。重要事项:您始终需要足够的可用磁盘空间才能使此操作成功。一个安全的指导原则是:redis内存限制的140%(如果不应用压缩,则为200%)

希望这有帮助,TW