一、 Redis 提供了不同级别的持久化方式:
Redis提供了两种方式对数据进行持久化,分别是RDB和AOF。
RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储。
AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾。Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大。
如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化方式。
你也可以同时开启两种持久化方式,,在这种情况下,当redis重启的时候会优先载入AOF文件来恢复原始的数据,因为在通常情况下AOF文件保存的数据集要比RDB文件保存的数据集要完整。
二、 配置文件中对两种存储方式的设置
Redis默认开启RDB的存储方式。
The filename where to dump the DB
dbfilename “dump.rdb”
对于AOF的存储方式redis并没有默认开启。通过配置开启如下:
把注释去掉就开启了AOF的存储方式。
三、 RDB(Redis DataBase)介绍
开启RDB方式redis会在指定的时间段内将内存中的数据快照到磁盘中,redis启动时再恢复到内存中。
Redis会单独创建(fork)一个线程,将数据写入到临时文件中,持久化的过程都结束了,在用这个临时文件替换上次的临时文件。
如果需要进行大规模的数据恢复,并且对于数据恢复不是很敏感,RDB的方式比AOF方式更加高效,RDB的缺点就在于最后一次持久化后的数据有可能会丢失。
RDB持久化数据触发配置在redis.conf中: