Use o redis-cli para importar dados de um banco de dados Redis autogerenciado para uma instância Tair (compatível com Redis OSS) por meio de um arquivo AOF (Append Only File). Essa abordagem abrange apenas a migração offline de dados e não oferece suporte à sincronização em tempo real. Execute a migração durante uma janela de manutenção planejada ou quando não houver novos dados sendo gravados na instância de origem.
Para migração em tempo real, use o Data Transmission Service (DTS). Consulte Migrar dados de um banco de dados Redis autogerenciado para uma instância Tair (compatível com Redis OSS).
Pré-requisitos
Antes de começar, verifique se:
O endereço IP do seu cliente está adicionado a uma lista de permissões da instância Tair (compatível com Redis OSS). Consulte Configurar listas de permissões.
-
A persistência AOF está ativada na instância Redis autogerenciada. Caso contrário, execute:
CONFIG SET appendonly yes -
A persistência híbrida está desativada na instância Redis autogerenciada. Quando
aof-use-rdb-preambleestá definido comoyes, o arquivo AOF contém um cabeçalho binário RDB que o redis-cli não consegue analisar, causando falha na importação. Se sua instância autogerenciada executar o Redis 5.0 ou posterior, execute:CONFIG SET aof-use-rdb-preamble no
Migrar dados
Etapa 1: Acionar uma reescrita de AOF
Um AOF ativo acumula todos os comandos ao longo do tempo, incluindo os redundantes. Por exemplo, incrementar um contador 100 vezes gera 100 entradas separadas. Executar BGREWRITEAOF compacta esses registros na sequência equivalente mais curta, fornecendo o snapshot mais recente e eficiente para importação.
redis-cli -h <self-managed-instance-ip> -p <port> BGREWRITEAOF
Saída esperada:
Background append only file rewriting started
Etapa 2: Importar o AOF para a instância Tair
O exemplo a seguir importa um arquivo chamado appendonly.aof:
redis-cli -h <tair-instance-endpoint> -p <port> -a <password> --pipe < appendonly.aof
Por exemplo:
redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379 -a user:password --pipe < appendonly.aof
Saída esperada:
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 90
Se uma mensagem semelhante à anterior for retornada, a migração foi concluída com sucesso.
Próximos passos
Caso a persistência AOF não seja mais necessária na instância autogerenciada após a migração, desative-a:
redis-cli -h <self-managed-instance-ip> -p <self-managed-instance-port> CONFIG SET appendonly no
Perguntas frequentes
Recebo ERR Protocol error: too big inline request durante a importação.
Esse erro indica que o arquivo AOF contém um cabeçalho binário RDB gerado pela persistência híbrida. Execute CONFIG GET aof-use-rdb-preamble na instância autogerenciada para verificar o valor atual. Se o retorno for yes, execute CONFIG SET aof-use-rdb-preamble no, regenere o arquivo AOF executando BGREWRITEAOF e tente importar novamente.
É possível exportar um arquivo AOF de uma instância Tair?
Não. Instâncias Tair (compatíveis com Redis OSS) não oferecem suporte à exportação de AOF.
Recebo ERR syntax error durante a importação.
Provavelmente a versão da instância Tair é anterior à da instância Redis autogerenciada. Adquira uma instância Tair cuja versão seja igual ou superior à da sua instância autogerenciada. Por exemplo, se sua instância autogerenciada for compatível com Redis 7.0, a instância Tair também deve ser compatível com Redis 7.0.