【发布时间】:2014-01-21 06:24:27
【问题描述】:
基本上我的情况如下:
1) 我最初在没有 AOF 的情况下启动了 Redis,并且运行了 n 周。
2) 我决定要使用 AOF,所以我在 n+1 周后重新启动 Redis 并开启 AOF。
3) 我决定要迁移到新服务器。所以我安全地关闭了当前的 Redis 进程,并将 RDB 文件和 AOF 文件复制到我的新服务器上。
4) 当我在启用 AOF 的新服务器中启动 Redis 时,Redis 的默认行为是从 AOF 加载数据ONLY。 这意味着我在前 n 周的数据丢失了。
当然有一个明显的解决方案,即在没有 AOF 的情况下启动 Redis,以便从 RDB 加载数据,然后在运行时打开 AOF。
但这几乎意味着如果你有一段时间关闭了 AOF,你就无法使用 AOF,而且你只能使用 AOF,如果你从第一天开始就一直在使用它.
这种理解正确吗?如果是这样,对于任何想要迁移到启用 AOF 的环境的人来说,这听起来毫无用处。而且一个没有迁移手段的系统听起来很糟糕。
我在这里遗漏了什么吗?有没有办法将您过去的数据包含到您的 AOF 文件中?
我会很感激一些帮助,因为这会影响我在我的环境中是否需要 AOF 的决定。 (也就是说我无法体验AOF的巨大好处……)
【问题讨论】: