Redis AOF重写文件与RDB一样吗?

时间:2020-07-05 16:41:40

标签: redis

我发现在AOF重写和RDB保存之后是否没有执行新的写操作。生成的AOF文件与RDB文件相同。正确吗?

以及为什么redis选择迭代数据库以重写AOF的方式?这意味着该程序应在每次启动AOF重写时对数据库进行迭代。上一次的AOF重写对当前的AOF重写没有帮助。当数据库很大时,这种重写可能会花费太多时间。

我认为,真正地重写AOF文件可能更好。从上次AOF重写的结束位置开始,然后重写以下AOF步骤。我知道以这种方式进行操作可能会在重新构建Redis数据库时失去一些性能。这样还有其他问题吗?

1 个答案:

答案 0 :(得分:2)

我发现在AOF重写和RDB保存之后是否没有执行新的写操作。生成的AOF文件与RDB文件相同。正确吗?

从上一次AOF重写的结束位置开始,然后重写以下AOF步骤

说用户在第一次AOF重写之前调用100万个SET命令来设置100万个密钥。然后,用户在第二次AOF重写之前调用1百万个DEL命令以删除这些密钥。如果从上一次AOF重写的结尾开始,则AOF文件将包含200万条无用的记录。同样,您的AOF会越来越大,直到磁盘已满,并且重新加载如此大的AOF文件将非常缓慢。