在loadAppendOnlyFiles函数中,如何判断当前Redis实例是否处于从老版本升级的状态?
在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))。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。