Redis 为内存数据库,即断电即失,所以Redis提供了持久化操作,RDB和AOF 两种方式。
首先介绍RDB 方式:redis 默认采用的方式。
Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程 都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的。 这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那 RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。我们默认的就是 RDB,一般情况下不需要修改这个配置!
在redis.conf 的配置中:
解释:在3600秒内有一次修改,则保存一次
生成文件的名称
三种触发机制:
1.save的规则满足的情况下,会自动触发rdb 规则
2.执行flushall命令,也会触发rdb规则
3.退出redis ,也会产生rdb文件。
如何恢复数据:
把产生的备份文件放入到redis 启动目录,redis 在启动的过程中会自动检测dump.rdb 文件恢复其中的数据。
查看dump.rdb 文件存放的位置:config get dir
会在这个文件夹下生成dumb.rdb 文件。
优点:比较适合恢复大数据量的数据,并且对数据的完整性要求不高
缺点:恢复数据需要时间,会丢失最后一次修改的数据。