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.
As instâncias baseadas em DRAM compatíveis com Redis 7.0 ou 6.0 oferecem suporte a todas as estruturas de dados mencionadas anteriormente.
As instâncias baseadas em DRAM compatíveis com Redis 5.0 suportam todas as estruturas de dados citadas, exceto TairVector.
As instâncias otimizadas para memória persistente são compatíveis com exString (incluindo comandos que aprimoram a funcionalidade de string do Redis), exHash e Cpc.
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 | Descrição | |
Aprimoramento de String | Nenhum |
Melhores práticas: Implementar bloqueio otimista de alto desempenho usando TairString e Implementar um limitador de taxa eficiente usando TairString. | |
Aprimoramento de Hash | 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 | 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 | 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) | 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 | 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 | 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 | 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. | |
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 | ||
Bitmap | 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 | 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 |
|
Java |
Cliente Tair construído sobre Jedis. |
|
|
.NET |
Cliente Tair construído sobre .NET Core 5.0 e StackExchange.Redis 2.5.61. |
|
|
Go |
Cliente Tair construído sobre go-redis. |
|
|
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.