dump.rdb是由Redis服务器自动生成的。默认情况下,每隔一段时间Redis服务器程序会自动对数据库做一次遍历,把内存快照写在一个叫做dump.rdb的文件里,这个持久化机制叫做SNAPSHOT。有了SNAPSHOT后,如果服务器宕机,重新启动Redis服务器程序时Redis会自动加载dump.rdb,将数据库状态恢复到上一次做SNAPSHOT时的状态。
至于多久做一次SNAPSHOT,SNAPSHOT文件的路径和文件名,我们可以在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文件都总是可用的。
关注微信公众号获取更多VSCode编程信息,定时发布干货文章
全部评论