AOF和RDB是什么
Redis进行操作时,有两种方式将操作的结果保存下来。一种是将结果以快照的方式保存在二进制文件中(默认叫:dump.rdb* ),这就是RDB模式,另一种是将操作的命令追加到一个记录文件里(默认叫:appendonly.aof),然后通过重新执行这些命令来重建数据库。通常,不用修改这些,按默认的来就好了,但是,了解一下还是有好处的,说不定面试就问这个呢?
RDB模式
在redis里,默认使用RDB模式。因为RDB模式重建数据库比较快。
这里的 重建数据库 是指将数据从硬盘移到内存,并建立起数据库的过程。对于RDB模式来说,就是把 dump.rdb 文件加载到内存,并解压字符串,就建立起了数据库。而对于AOF模式来说,则是在启动Redis服务器的时候,运行appendonly.aof日志文件,在内存中重新建立数据库。从这里的描述就可以看出,AOF的重建过程是要比RDB慢的。
使用RDB模式的话,系统会将内存中数据库的快照每隔一段时间间隔更新到硬盘中(dump.rdb 文件里),这个更新的频率是可以指定的。在redis.conf中有三个配置用来指定内存数据更新到硬盘的频率:
//格式是:save <seconds> <changes>