开发者社区> 问答> 正文

在loadAppendOnlyFiles函数中,如何判断当前Redis实例是否处于从老版本升级的状态

在loadAppendOnlyFiles函数中,如何判断当前Redis实例是否处于从老版本升级的状态?

展开
收起
不吃核桃 2024-07-22 20:02:54 32 0
1 条回答
写回答
取消 提交回答
  • 在loadAppendOnlyFiles函数中,如果server.aof_filename文件存在于工作目录中,并且满足以下三个条件之一,则认为当前Redis实例处于从老版本升级的状态:

    'server.aof_dirname'目录不存在。
    'server.aof_dirname'目录存在但manifest文件缺失(即am->base_aof_info == NULL && listLength(am->incr_aof_list) == 0)。
    'server.aof_dirname'目录存在,manifest文件中仅有一个BASE AOF记录,且该BASE AOF的文件名与server.aof_filename相同,但'server.aof_filename'文件在'server.aof_dirname'目录中不存在(即am->base_aof_info != NULL && listLength(am->incr_aof_list) == 0 && !strcmp(am->base_aof_info->file_name, server.aof_filename) && !aofFileExist(server.aof_filename))。

    2024-07-22 20:52:41
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis集群演化的心路历程——从2.x到3.0时代 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载