Principais diferenças de comportamento e compatibilidade da versão com o Redis OSS - Amazon ElastiCache

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 com o Redis OSS

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 para a OSS versão mais recente disponível do RedisOSS, sem a necessidade de atualizações sequenciais. Por exemplo, você pode atualizar diretamente da OSS versão 3.0 do Redis para a versão 7.0.

OSSAs versões do Redis são identificadas com uma versão semântica que compreende um componente MAJORMINOR, 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:

  • MAJORas versões são para API alterações incompatíveis

  • MINORas versões são para novas funcionalidades adicionadas de forma compatível com versões anteriores

  • PATCHas versões são para correções de bugs compatíveis com versões anteriores e alterações não funcionais

Recomendamos sempre manter a versão mais recente do patch em um determinado momentoMAJOR. MINORversão para ter as últimas melhorias de desempenho e estabilidade. A partir do Redis OSS 6.0, ElastiCache (RedisOSS) oferecerá uma única versão para cada versão OSS secundária do Redis, em vez de oferecer várias versões de patch. ElastiCache (RedisOSS) 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 (RedisOSS) oferece suporte às duas mais recentes. MAJOR MINORversões da época para a nova região. Por exemplo, se uma nova AWS região for lançada e a mais recenteMAJOR. MINOR ElastiCache As versões (RedisOSS) são 7.0 e 6.2, ElastiCache (RedisOSS) suportará as versões 7.0 e 6.2 na nova região. AWS Como mais novoMAJOR. MINORversões do ElastiCache (RedisOSS) foram lançadas e ElastiCache continuarão adicionando suporte às versões recém-lançadas ElastiCache (RedisOSS). 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 OSSfunções do Redis.

  • Os canais do Pubsub agora estão bloqueados por padrão para novos usuários. 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 ACL categorias paraSELECT,WAIT,ROLE,LASTSAVE, READONLYREADWRITE, 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.

  • As ACL bandeiras dos LASTSAVE comandosTIME, ECHOROLE, e foram alteradas. 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 (RedisOSS) 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 (RedisOSS) 5.0.

  • Se você estiver atualizando do Redis OSS 4.0, alguns comandos nos LUA scripts 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 superior, ElastiCache (RedisOSS) descarregará 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 Que 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 versão 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.

Passado EOL

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 obter mais informações, consulte Cronograma de fim de vida das OSS versões do Redis.

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 não OSS AOF é mais suportado no ElastiCache (Redis). OSS Recomendamos o uso do MemoryDB quando os dados precisam ser persistidos de forma duradoura.

  • A partir do Redis OSS 2.8.22, ElastiCache (RedisOSS) não dá mais suporte à 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 obter mais informações, consulte Cronograma de fim de vida das OSS versões do Redis.