Todos os produtos
Search
Central de documentação

Tair (Redis® OSS-Compatible):Visão geral das estruturas de dados estendidas

Última atualização: Jul 03, 2026

Assim como o Redis open source, o Tair (Redis OSS-compatible) oferece suporte a tipos de dados padrão, como String, List, Hash, Set, Sorted Set e Stream. Embora esses tipos atendam a muitos casos de uso, eles podem ser insuficientes em cenários de negócios complexos que exigem código personalizado extenso ou scripts Lua complicados. Para resolver essa questão, o Tair (Enterprise Edition) integra um conjunto de estruturas de dados proprietárias. Essas estruturas incluem exString (que contempla aprimoramentos de comandos Redis String), exHash, exZset, GIS, TairBloom, Doc, TS, Cpc, Roaring, TairSearch e Vector. Elas expandem as capacidades do Redis, reduzem a complexidade de desenvolvimento para aplicações avançadas, simplificam seu código e melhoram o desempenho geral dos negócios, permitindo que você foque na inovação.

Nota

Estruturas de dados estendidas do Tair e módulos do Redis Stack

A tabela a seguir descreve as estruturas de dados integradas ao Tair e compara seus recursos com os do Redis Stack Server.

Tipo

Estrutura de dados estendida do Tair

Redis Stack Server

Descrição

Aprimoramento de String

Nenhum

  • O exString é uma estrutura de dados do tipo string que inclui um número de versão. Ele aprimora as funções padrão de incremento e decremento do Redis String ao permitir a definição de limites para os resultados dos comandos INCRBY e INCRBYFLOAT. Caso um resultado ultrapasse o intervalo definido, o sistema retorna um erro. Essa estrutura de dados é open source. Para mais informações, consulte TairString.

  • Os comandos CAS e CAD possibilitam a implementação simples e eficiente de um bloqueio distribuído de alto desempenho.

Melhores práticas: Implementar bloqueio otimista de alto desempenho usando TairString e Implementar um limitador de taxa eficiente usando TairString.

Aprimoramento de Hash

exHash

Nenhum

O exHash permite definir um tempo de vida (TTL) e uma versão para campos individuais dentro de um hash. Isso aumenta a flexibilidade da estrutura de dados Hash e simplifica o desenvolvimento em diversos casos de uso. Essa estrutura de dados é open source. Para mais informações, consulte TairHash.

Melhor prática: Gerenciar logon de usuários em vários dispositivos usando TairHash.

Aprimoramento de Zset

exZset

Nenhum

O exZset suporta a ordenação de pontuações do tipo double em até 256 dimensões, viabilizando rankings padrão e multidimensionais. Essa estrutura de dados é open source. Para mais informações, consulte TairZset.

Melhores práticas: Implementar rankings multidimensionais facilmente usando exZset e Implementar rankings distribuídos usando exZset.

Geoespacial

GIS

Nenhum

O TairGIS é uma estrutura de dados que utiliza R-tree para indexação e oferece suporte a APIs para sistemas de informações geográficas (GIS). Ele permite consultas de pontos, linestrings e polígonos, além de verificações de relacionamento como contém, dentro e intersecciona. Essa estrutura de dados é open source. Para mais informações, consulte TairGIS.

Melhores práticas: Implementar geofencing usando TairGIS e Implementar um serviço de compras local usando TairGIS.

Doc (JSON)

Doc

RedisJSON

O TairDoc é uma estrutura de dados do tipo documento compatível com o padrão JSON, semelhante ao módulo RedisJSON. O TairDoc armazena dados em formato de árvore binária, o que permite acesso rápido aos subelementos de um objeto JSON.

Pesquisa

TairSearch

RediSearch

O TairSearch oferece uma sintaxe de consulta semelhante à do Elasticsearch (ES-like), uma variedade maior de tokenizadores precisos e desempenho superior em consultas.

Séries temporais

TS

RedisTimeSeries

Em comparação ao RedisTimeSeries, o TairTS oferece maior escalabilidade de tags. Ele suporta uma estrutura de hash de dois níveis para linhas do tempo baseada em skeys (tags), habilita consultas agregadas na linha do tempo secundária e permite atualizar ou anexar dados a séries temporais históricas.

Melhor prática: Implementar monitoramento em nível de segundo usando TairTS.

Sketches

TairBloom

RedisBloom

O TairBloom é compatível com o RedisBloom e suporta dimensionamento dinâmico. Ele utiliza um algoritmo de hash de 64 bits para reduzir colisões de hash, diminuindo significativamente a taxa de colisão em grandes conjuntos de dados.

Melhores práticas: Ideal para sistemas de recomendação e rastreadores (crawlers). Para mais informações, consulte TairBloom e Gerenciar notificações push de eventos de jogos eficientemente usando filtro Bloom.

Cpc

Nenhum

O TairCpc é uma estrutura de dados desenvolvida com base no algoritmo de sketch Compressed Probability Counting (CPC). Ele executa cálculos de alto desempenho em dados amostrados consumindo o mínimo de memória. O TairCpc suporta janelas deslizantes e fixas (tumbling) para melhor processamento de fluxos e inclui operadores de agregação comuns em análises de big data, como DISTINCT, COUNT, MAX, MIN, FIRST, LAST e SQUARED.

Bitmap

Roaring

Nenhum

O TairRoaring fornece um módulo de computação eficiente e altamente estável. Ele suporta operações em múltiplos bitmaps, o que melhora o desempenho e a eficiência de espaço.

Melhor prática: Implementar seleção de coortes de usuários usando TairRoaring.

pesquisa vetorial

Vector

Redis Search (Vector Similarity)

O TairVector é uma estrutura de dados estendida proprietária desenvolvida pelo Tair. Ele fornece um serviço de banco de dados vetorial em tempo real e de alto desempenho, integrando armazenamento e recuperação.

Melhores práticas:

Clientes do Tair (Enterprise Edition)

Para simplificar o uso das estruturas de dados estendidas do Tair, o Tair desenvolveu clientes Tair baseados em vários clientes populares do Redis. Use esses clientes Tair para acessar diretamente as estruturas de dados estendidas do Tair.

Você encontra os seguintes clientes no GitHub. Os repositórios também incluem códigos de exemplo.

Cliente Tair

Linguagem de programação

Descrição

TairJedis

Java

Cliente Tair construído sobre Jedis.

AlibabaCloud.TairSDK

.NET

Cliente Tair construído sobre .NET Core 5.0 e StackExchange.Redis 2.5.61.

Tair-go

Go

Cliente Tair construído sobre go-redis.

Tair-py

Python

Cliente Tair construído sobre redis-py.

Perguntas frequentes

  • P: O Tair (Redis OSS-compatible) suporta o Redis Stack Server?

    R: Devido às restrições de licença open source do Redis, nem a Redis Open-Source Edition da Alibaba Cloud nem o Tair (Enterprise Edition) oferecem suporte ao Redis Stack Server.

    Para contornar isso, o Tair (Enterprise Edition) fornece suas próprias estruturas de dados estendidas proprietárias, incluindo exString (que contempla aprimoramentos de comandos Redis String), exHash, exZset, GIS, TairBloom, Doc, TS, Cpc, Roaring, TairSearch e Vector. O Tair suporta uma gama mais ampla de estruturas de dados do que o Redis Stack Server e oferece melhor desempenho para algumas delas.

  • P: Como defino um tempo de vida (TTL) para as estruturas de dados estendidas do Tair?

    R: Para exString, exHash e Cpc, defina o TTL diretamente com seus comandos específicos. Para outras estruturas de dados estendidas do Tair, configure o TTL da chave com o comando EXPIRE | EXPIREAT <NomeDaChave>, como EXPIRE foo 60.

  • P: Como verifico quais estruturas de dados estendidas minha instância suporta?

    R: As estruturas de dados estendidas suportadas dependem da edição e do tipo da instância. Faça login no console do Tair e acesse a página Detalhes da Instância para verificar a edição (Redis Open-Source Edition ou Tair (Enterprise Edition)) e o tipo da sua instância. Em seguida, consulte a lista abaixo para determinar quais estruturas são suportadas:

    • Redis Open-Source Edition: Suporta apenas comandos padrão do Redis e não oferece suporte às estruturas de dados estendidas do Tair.

    • tipo em memória: O suporte varia conforme a versão de compatibilidade do Redis. Instâncias compatíveis com Redis 7.0 e 6.0 suportam todas as estruturas de dados estendidas do Tair, enquanto instâncias compatíveis com Redis 5.0 não suportam Vector.

    • tipo memória persistente: Suporta apenas exString (incluindo aprimoramentos de comandos Redis String), exHash e Cpc.

    • Tipo baseado em disco: Não suporta estruturas de dados estendidas do Tair.