Redis持久化文件:dump.rdb文件
备注:本文修订于2021年10月4日
1、dump和RDB的含义
dump.rdb是由Redis服务器自动生成的。在计算机领域,dump文件是指进程的内存镜像文件。rdb的含义是Redis Database。
2、dump.rdb文件的设置
默认情况下,每隔一段时间Redis服务器程序会自动对数据库做一次遍历,把内存快照写在一个叫做dump.rdb的文件里,这个持久化机制叫做SNAPSHOT。有了SNAPSHOT后,如果服务器宕机,重新启动Redis服务器程序时Redis会自动加载dump.rdb,将数据库状态恢复到上一次做SNAPSHOT时的状态。至于多久做一次SNAPSHOT,以及SNAPSHOT文件的路径和文件名如何设置等问题,我们都可以在Redis的配置文件redis.conf中指定:
900秒之内,如果超过1个key被修改,则发起快照保存
save 900 1
# 300秒内,如果超过10个key被修改,则发起快照保存
save 300 10
# 1分钟之内,如果1万个key被修改,则发起快照保存
save 60 10000
Redis的RDB文件不会坏掉,因为其写操作是在一个新进程中进行的。当生成一个新的RDB文件时,Redis生成的子进程会先将数据写到一个临时文件中,然后通过原子性rename系统调用将临时文件重命名为RDB文件。这样在任何时候出现故障,Redis的RDB文件都总是可用的。