备注:本文修订于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文件都总是可用的。

3、更多介绍

https://redis.io/topics/persistence

标签: none

添加新评论