Principais diferenças de comportamento e compatibilidade da versão - Amazon ElastiCache (RedisOSS)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Principais diferenças de comportamento e compatibilidade da versão

Importante

A página a seguir é estruturada para indicar todas as diferenças de incompatibilidade entre versões e informar você sobre quaisquer considerações que deva fazer ao atualizar para versões mais recentes. Essa lista inclui todos os problemas de incompatibilidade de versão que você possa encontrar ao atualizar.

Você pode atualizar diretamente da sua versão atual do Redis OSS para a versão mais recente disponível do Redis OSS, sem a necessidade de atualizações sequenciais. Por exemplo, você pode atualizar diretamente da versão 3.0 do Redis OSS para a versão 7.0.

As versões do Redis OSS são identificadas com uma versão semântica que compreende os componentes MAJOR, MINOR e PATCH. Por exemplo, no Redis OSS 4.0.10, a versão principal é 4, a versão secundária 0 e a versão do patch é 10. Esses valores geralmente são incrementados com base nas seguintes convenções:

  • As versões MAJOR (PRINCIPAL) são para alterações incompatíveis com a API

  • As versões MINOR (SECUNDÁRIA) são para novas funcionalidades adicionadas de forma compatível com as versões anteriores

  • As versões do PATCH são para correções de bugs compatíveis com versões anteriores e mudanças não funcionais

Recomendamos sempre permanecer na versão mais recente do patch dentro de uma determinada versão MAJOR.MINOR para obter as melhorias mais recentes de performance e estabilidade. A partir do Redis OSS 6.0, ElastiCache (Redis OSS) oferecerá uma única versão para cada versão secundária do Redis OSS, em vez de oferecer várias versões de patch. ElastiCache (Redis OSS) gerenciará automaticamente a versão de patch de seus clusters de cache em execução, garantindo melhor desempenho e segurança aprimorada.

Também recomendamos atualizar periodicamente para a versão principal mais recente, já que a maioria das melhorias principais não são transferidas para versões mais antigas. À medida que ElastiCache expande a disponibilidade para uma nova AWS região, o ElastiCache (Redis OSS) oferece suporte às duas versões MAJOR.MINOR mais recentes da época para a nova região. Por exemplo, se uma nova AWS região for lançada e as versões mais recentes do MAJOR.MINOR ElastiCache (Redis OSS) forem 7.0 e 6.2, ElastiCache (Redis OSS) oferecerá suporte às versões 7.0 e 6.2 na nova região. AWS À medida que as versões mais recentes do MAJOR.MINOR do ElastiCache (Redis OSS) forem lançadas, ElastiCache continuaremos adicionando suporte às versões recém-lançadas ElastiCache (Redis OSS). Para saber mais sobre como escolher regiões para ElastiCache, consulte Escolha de regiões e zonas de disponibilidade.

Ao fazer uma atualização que abranja versões principais ou secundárias, considere a lista a seguir, que inclui alterações comportamentais e incompatíveis com versões anteriores lançadas com o Redis OSS ao longo do tempo.

Comportamento do Redis OSS 7.0 e alterações incompatíveis com versões anteriores

Para ver uma lista completa das mudanças, consulte as notas de lançamento do Redis OSS 7.0.

  • SCRIPT LOAD e SCRIPT FLUSH não são mais propagados para réplicas. Se você precisar de alguma durabilidade para scripts, recomendamos que considere usar as funções do Redis OSS.

  • Os canais Pubsub agora estão bloqueados por padrão para novos usuários de ACL.

  • O comando STRALGO foi substituído pelo comando LCS.

  • O formato de ACL GETUSER foi alterado para que todos os campos mostrem o padrão de cadeia de caracteres de acesso padrão. Se você teve automação usando ACL GETUSER, verifique se ela funcionará com qualquer um dos formatos.

  • As categorias de ACL para SELECT, WAIT, ROLE, LASTSAVE, READONLY, READWRITE e ASKING foram alteradas.

  • O comando INFO agora mostra estatísticas de comando por subcomando, em vez de nos comandos do contêiner de nível superior.

  • Os valores de retorno dos comandos LPOP, RPOP, ZPOPMIN e ZPOPMAX foram alterados em determinados casos de borda. Se você usar esses comandos, verifique as notas de release e avalie se foi afetado.

  • Os comandos SORT e SORT_RO agora exigem acesso a todo o espaço de teclas para usar os argumentos GET e BY.

Comportamento do Redis OSS 6.2 e alterações incompatíveis com versões anteriores

Para ver uma lista completa das mudanças, consulte as notas de lançamento do Redis OSS 6.2.

  • Os sinalizadores ACL dos comandos TIME, ECHO, ROLE e LASTSAVE foram alterados. Isso pode fazer com que comandos que antes tinham permissão sejam rejeitados e vice-versa.

    nota

    Nenhum desses comandos modifica ou concede acesso aos dados.

  • Ao atualizar do Redis OSS 6.0, a ordem dos pares chave/valor retornados de uma resposta do mapa a um script lua é alterada. Se seus scripts usam redis.setresp() ou retornam um mapa (novo no Redis OSS 6.0), considere as implicações de que o script pode falhar nas atualizações.

Comportamento do Redis OSS 6.0 e alterações incompatíveis com versões anteriores

Para ver uma lista completa das mudanças, consulte as notas de lançamento do Redis OSS 6.0.

  • O número máximo de bancos de dados permitidos foi reduzido de 1,2 milhão para 10 mil. O valor padrão é 16, e desencorajamos o uso de valores muito maiores do que isso, pois encontramos problemas de performance e memória.

  • Defina o AutoMinorVersionUpgrade parâmetro como sim e ElastiCache (Redis OSS) gerenciará a atualização da versão secundária por meio de atualizações de autoatendimento. Isso será tratado por meio de canais padrão de notificação do cliente por meio de uma campanha de atualização de autoatendimento. Para obter mais informações, consulte Atualizações de autoatendimento em ElastiCache.

Comportamento do Redis OSS 5.0 e alterações incompatíveis com versões anteriores

Para ver uma lista completa das mudanças, consulte as notas de lançamento do Redis OSS 5.0.

  • Os scripts são replicados por efeitos em vez de reexecutar o script na réplica. Isso geralmente melhora a performance, mas pode aumentar a quantidade de dados replicados entre os primários e as réplicas. Há uma opção para voltar ao comportamento anterior que só está disponível no ElastiCache (Redis OSS) 5.0.

  • Se você estiver atualizando do Redis OSS 4.0, alguns comandos nos scripts LUA retornarão argumentos em uma ordem diferente da das versões anteriores. No Redis OSS 4.0, o Redis OSS ordenaria algumas respostas lexograficamente para tornar as respostas determinísticas. Essa ordenação não é aplicada quando os scripts são replicados por efeitos.

  • No Redis OSS 5.0.3 e versões posteriores, o ElastiCache (Redis OSS) transferirá parte do trabalho de E/S para núcleos em segundo plano em tipos de instância com mais de 4 vCPUs. Isso pode alterar as características de desempenho do Redis OSS e alterar os valores de algumas métricas. Para obter mais informações, consulte Quais métricas devo monitorar? para entender se você precisa alterar quais métricas você assiste.

Comportamento do Redis OSS 4.0 e alterações incompatíveis com versões anteriores

Para ver uma lista completa das mudanças, consulte as notas de lançamento do Redis OSS 4.0.

  • O log lento agora registra dois argumentos adicionais, o nome e o endereço do cliente. Essa alteração deve ser compatível com versões anteriores, a menos que você confie explicitamente em cada entrada de log lenta contendo 3 valores.

  • O CLUSTER NODES agora retorna um formato ligeiramente diferente, que não é compatível com versões anteriores. Recomendamos que os clientes não usem esse comando para aprender sobre os nós presentes em um cluster e, em vez disso, eles usem CLUSTER SLOTS.

EOL passado

Comportamento do Redis OSS 3.2 e alterações incompatíveis com versões anteriores

Para ver uma lista completa das mudanças, consulte as notas de lançamento do Redis OSS 3.2.

  • Não há mudanças de compatibilidade a serem destacadas para esta versão.

Para ter mais informações, consulte Cronograma de fim de vida das versões do Redis OSS.

Comportamento do Redis OSS 2.8 e alterações incompatíveis com versões anteriores

Para ver uma lista completa das mudanças, consulte as notas de lançamento do Redis OSS 2.8.

  • A partir do Redis OSS 2.8.22, o Redis OSS AOF não é mais suportado no (Redis OSS). ElastiCache Recomendamos o uso do MemoryDB quando os dados precisam ser persistidos de forma duradoura.

  • A partir do Redis OSS 2.8.22, o ElastiCache (Redis OSS) não suporta mais a anexação de réplicas às primárias hospedadas nele. ElastiCache Durante a atualização, as réplicas externas serão desconectadas e não poderão se reconectar. Recomendamos usar o cache do lado do cliente, disponibilizado no Redis OSS 6.0, como alternativa às réplicas externas.

  • Os comandos TTL e PTTL agora retornarão -2 se a chave não existir e -1 se existir, mas não tiver expiração associada. O Redis OSS 2.6 e as versões anteriores costumavam retornar -1 para ambas as condições.

  • O SORT com ALPHA agora classificará de acordo com o local de agrupamento local, se nenhuma opção STORE for usada.

Para ter mais informações, consulte Cronograma de fim de vida das versões do Redis OSS.