Todos os produtos
Search
Central de documentação

Tair (Redis® OSS-Compatible):Padrões de desenvolvimento e O&M para Tair (Redis OSS-compatible)

Última atualização: Sep 18, 2026

O Tair (Redis OSS-compatible) oferece processamento de dados em memória com alto desempenho. Siga estes padrões de desenvolvimento e O&M do Tair (Redis OSS-compatible) para construir sistemas eficientes e maximizar o Tair. Com base em anos de experiência de O&M da Alibaba Cloud, esses padrões abrangem implantação de negócios, design de chaves, uso de SDK, uso de comandos e gerenciamento de O&M.

Limites de desempenho do Tair

Figura 1. Limites de desempenho do TairTair performance boundaries

Tipo de recurso

Descrição

Recursos de computação

Wildcards, scripts Lua concorrentes, PUBSUB um-para-muitos e hotkeys consomem grandes volumes de recursos de computação. Para cluster instances, esses itens também podem causar distorção de requisições e subutilização de shards.

Recursos de armazenamento

Jobs de streaming e chaves grandes consomem grandes volumes de recursos de armazenamento. Para cluster instances, esses itens também podem causar distorção de dados e subutilização de shards.

Recursos de rede

Varreduras completas do banco de dados (KEYS) e consultas de intervalo em chaves e valores grandes (HGETALL) consomem grandes volumes de recursos de rede e frequentemente provocam congestionamento de threads.

Importante

A capacidade de alta concorrência do Tair não melhora significativamente o desempenho de acesso conforme esperado, mas afeta o desempenho geral do Tair. Por exemplo, armazenar valores grandes no Tair não melhora o desempenho de acesso de forma significativa.

Para cluster instances, hotkeys, chaves grandes ou valores grandes também podem causar distorção de armazenamento ou de requisições. Em ambiente de produção, é fundamental evitar atingir os limites de desempenho do Tair.

Padrões de implantação de negócios

Importância

Padrão

Descrição

★★★★★

Determine se o cenário é de cache de alta velocidade ou de banco de dados em memória .

  • Cache de alta velocidade: desative a persistência AOF em cenários exclusivamente de cache para reduzir a sobrecarga. Evite dependência forte dos dados em cache — quando um banco de dados Tair atinge a capacidade máxima de armazenamento, uma política de remoção de dados é acionada para liberar espaço, o que pode aumentar a latência em cargas intensas de escrita.

    Importante

    Para usar o data flashback feature to restore data by point in time, é necessário ativar a persistência AOF.

  • Banco de dados em memória: escolha instâncias Tair (Enterprise Edition) persistent memory-optimized instances. Instâncias otimizadas para memória persistente oferecem persistência no nível de comando. Monitore o uso de memória por meio de Alert settings.

★★★★★

Implante sua aplicação na mesma virtual private cloud (VPC) que suas instâncias Tair, por exemplo, em uma instância Elastic Compute Service (ECS).

O Tair entrega alto desempenho, mas implantar longe das instâncias do Tair ou conectar pela Internet degrada significativamente o desempenho devido à latência de rede.

Nota

Para implantações em várias regiões, use Global Distributed Cache para recuperação de desastres geográfica, geo-redundância ativa e redução de latência.

★★★★☆

Crie uma instância Tair para cada serviço.

Não compartilhe uma instância Tair entre serviços. Misturar cargas de cache e de banco de dados em memória faz com que políticas de remoção, consultas lentas e a execução do comando FLUSHDB de um serviço afetem os demais.

★★★★☆

Configure políticas de remoção adequadas para expirar chaves.

A política de remoção padrão para chaves expiradas no Tair é volatile-lru . Configure as políticas de remoção em Parameters that can be configured for Redis Open-Source Edition instances.

★★★☆☆

Gerencie os dados e a duração dos testes de carga.

O Tair não exclui dados de testes de carga. Para evitar impactos no seu negócio, gerencie os dados e a duração dos testes de carga por conta própria.

Padrões de design de chaves

Importância

Padrão

Descrição

★★★★★

Mantenha os valores abaixo de 10 KB.

Valores superdimensionados causam distorção de dados, hotkeys, alto consumo de largura de banda ou alta utilização de CPU.

★★★★★

Use nomes de chave descritivos e concisos.

  • Nomes de chave:

    • Utilize strings legíveis. Separe os componentes de banco de dados, tabela e campo com dois-pontos (:). Exemplo: project:user:001.

    • Abrevie os nomes de chave sem perder o significado. Por exemplo, username pode ser abreviado para u.

    • No Redis, chaves {} são hash tags. Em cluster instances, use chaves corretamente nos nomes de chave para evitar distorção de dados . Especificação de cluster Redis.

      Nota

      Em uma instância de cluster, se você deseja gerenciar múltiplas chaves com um comando como RENAME e não usa hash tags para posicionar as chaves no mesmo shard de dados, o comando falhará.

  • Comprimento: mantenha os nomes de chave com até 128 bytes, preferencialmente menos.

★★★★★

Limite as sub-chaves por estrutura de dados complexa a menos de 1.000.

Nota

Estruturas de dados complexas comuns incluem Hash, Set, Zset, Geo e Stream, além de estruturas específicas do Tair (Enterprise Edition), como exHash, Bloom e TairGIS.

A complexidade temporal de comandos como HGETALL cresce com a contagem de sub-chaves. Comandos O(N)+ frequentes em chaves com sub-chaves excessivas causam consultas lentas, distorção de dados e hotkeys.

★★★★☆

Serialize os valores em estruturas legíveis.

O bytecode de linguagens pode mudar entre versões. Armazenar objetos brutos (Java, C#) no Tair dificulta atualizações de stack. Em vez disso, serialize os valores em estruturas legíveis.

Padrões de uso de SDK

Importância

Padrão

Descrição

★★★★★

Use JedisPool ou JedisCluster para conectar-se a instâncias Tair.

Nota

Para instâncias Tair (Enterprise Edition) DRAM-based instances, use o cliente TairJedis — ele fornece classes de encapsulamento para novas estruturas de dados. Use a client to connect to an instance.

Conexões simples não reconectam automaticamente após um timeout. Configure conexões JedisPool: Use a client to connect to an instance, JedisPool optimization e JedisCluster.

★★★★☆

Projete mecanismos adequados de tolerância a falhas para seus clientes.

Flutuações de rede e alto consumo de recursos podem causar timeouts de conexão ou consultas lentas no Tair. Para mitigar esses riscos, projete mecanismos adequados de tolerância a falhas para seus clientes.

★★★★☆

Use intervalos de retentativa adequados.

Intervalos de retentativa menores que 200 ms podem disparar retentativas rápidas e causar uma avalanche de serviço. Retry mechanisms for Redis clients.

Padrões de uso de comandos

Importância

Padrão

Descrição

★★★★★

Evite consultas de intervalo como KEYS *. Use consultas pontuais ou SCAN.

Consultas de intervalo podem causar interrupções de serviço, consultas lentas ou congestionamento.

★★★★★

Use estruturas de dados estendidas (como exString (incluindo commands that enhance Redis string functionality), exHash, exZset, GIS, Bloom, Doc, TS, Cpc, Roaring, Search e Vector) em vez de scripts Lua.

Scripts Lua consomem grandes volumes de recursos de computação e memória sem suporte a multi-threading. Scripts complexos ou mal elaborados podem esgotar os recursos.

★★★★☆

Use pipelines para reduzir o tempo de ida e volta (RTT) dos dados.

Quando seu cliente não depende de respostas individuais, agrupe comandos em um pipeline. Diretrizes:

  • Estabeleça uma conexão dedicada para operações de pipeline, separada das operações regulares.

  • Limite cada pipeline a 100 comandos ou menos.

★★★★☆

Use Redis commands corretamente.

Limitações dos comandos de transação:

  • Transações Redis não podem sofrer rollback.

  • Para executar comandos de transação em cluster instances, use hash tags para alocar as chaves no mesmo hash slot. Evite a distorção de armazenamento que as hash tags podem causar.

  • Não encapsule comandos de transação em scripts Lua — a compilação e o carregamento consomem grandes volumes de recursos de computação.

★★★★☆

Evite distribuição de mensagens em larga escala com Pub/Sub commands.

O Pub/Sub não possui mecanismos de persistência de dados nem de confirmação. Distribuir mensagens maiores que 1 KB para mais de 100 assinantes pode esgotar os recursos do servidor e causar perda de mensagens.

Nota

Para melhorar o desempenho e o balanceamento, o Tair otimiza o Pub/Sub em instâncias de cluster distribuindo comandos para nós de dados com base nos nomes dos canais por meio de hashing.

Padrões de gerenciamento de O&M

Importância

Padrão

Descrição

★★★★★

Compreenda os impactos das diferentes operações de gerenciamento de instâncias.

Alterações de configuração ou reinicializações podem causar desconexões transitórias em uma instância Tair. Entenda os impactos antes de prosseguir. Instance states and impacts.

★★★★★

Teste o tratamento de erros e a lógica de recuperação de desastres do cliente.

O Tair monitora a saúde dos nós e aciona automaticamente o switchover master-réplica quando um master fica indisponível. Antes de colocar um cliente em produção, acione manualmente um switchover para verificar o tratamento de erros e a lógica de recuperação de desastres. Manually switch workloads from a master node to a replica node.

★★★★★

Desative comandos demorados ou de alto risco.

O uso indevido de comandos em produção pode causar perda de dados (FLUSHALL) ou congestionamento de rede (KEYS). Desative comandos arriscados para melhorar a estabilidade. Disable high-risk commands.

★★★★☆

Trate eventos pendentes prontamente.

A Alibaba Cloud gera eventos pendentes para upgrades de hardware, atualizações de software ou manutenção de rede — por exemplo, quando uma versão secundária do banco de dados precisa ser atualizada. Avalie o impacto e reagende se necessário. View and manage scheduled events.

★★★★☆

Configure alertas para métricas essenciais.

Monitore a utilização de CPU, o uso de memória e a largura de banda em tempo real com Alert settings.

★★★★☆

Verifique regularmente a saúde da instância usando os recursos de O&M do Tair para diagnosticar anomalias de recursos.

★★★☆☆

Ative o recurso de log de auditoria e avalie os logs.

O recurso de log de auditoria registra operações de escrita e oferece suporte a consulta, análise online e exportação. Use-o para monitorar a segurança e o desempenho da instância. Audit Log.

Importante

Após ativar o recurso de log de auditoria, o desempenho das instâncias Tair pode degradar de 5% a 15%, dependendo do volume de escrita e auditoria. Para cargas de trabalho com escrita intensiva no Tair, ative os logs de auditoria apenas durante operações de O&M, como na resolução de problemas.