À l'instar de la version open source de Redis, Tair (compatible avec Redis OSS) prend en charge les types de données standard tels que String, List, Hash, Set, Sorted Set et Stream. Bien que suffisants pour de nombreux cas d'utilisation, ces types peuvent s'avérer limités dans des scénarios métier complexes nécessitant un code personnalisé important ou des scripts Lua complexes. Pour répondre à ce besoin, Tair (Enterprise Edition) intègre une suite de structures de données propriétaires. Celles-ci incluent exString (qui comprend l'amélioration des commandes Redis String), exHash, exZset, GIS, TairBloom, Doc, TS, Cpc, Roaring, TairSearch et Vector. Elles élargissent les capacités de Redis, réduisent la complexité de développement des applications avancées, simplifient votre code et améliorent les performances globales de votre activité, vous permettant ainsi de vous concentrer sur l'innovation.
Les instances basées sur DRAM compatibles avec Redis 7.0 ou 6,0 prennent en charge toutes les structures de données mentionnées ci-dessus.
Les instances basées sur DRAM compatibles avec Redis 5.0 prennent en charge toutes les structures de données précédentes, à l'exception de TairVector.
Les instances optimisées pour la mémoire persistante sont compatibles avec exString (y compris les commandes qui améliorent les fonctionnalités des chaînes Redis), exHash et Cpc.
Structures de données étendues Tair et modules Redis Stack
Le tableau suivant décrit les structures de données intégrées à Tair et compare leurs fonctionnalités à celles de Redis Stack Server.
Type | Structure de données étendue Tair | Description | |
Amélioration des chaînes | Aucun |
Bonnes pratiques : Mettre en œuvre un verrouillage optimiste haute performance à l'aide de TairString et Implémenter un limiteur de débit efficace à l'aide de TairString. | |
Amélioration des hachages | Aucun | exHash vous permet de définir une durée de vie (TTL) et une version pour des champs individuels au sein d'un hachage. Cela améliore la flexibilité de la structure de données Hash et simplifie le développement pour de nombreux cas d'utilisation. Cette structure de données est open source. Pour plus d'informations, consultez TairHash. Bonne pratique : Gérer la connexion utilisateur multi-appareils à l'aide de TairHash. | |
Amélioration des Zset | Aucun | exZset prend en charge le tri des scores de type double sur 256 dimensions, permettant la création de classements standards et multidimensionnels. Cette structure de données est open source. Pour plus d'informations, consultez TairZset. Bonnes pratiques : Implémenter facilement des classements multidimensionnels à l'aide d'exZset et Implémenter des classements distribués à l'aide d'exZset. | |
Géospatial | Aucun | TairGIS est une structure de données utilisant un arbre R pour l'indexation et prenant en charge les API des systèmes d'information géographique (SIG). Elle prend en charge les requêtes sur les points, les linestrings et les polygones, ainsi que les vérifications de relations telles que contains, within et intersects. Cette structure de données est open source. Pour plus d'informations, consultez TairGIS. Bonnes pratiques : Implémenter le géofencing à l'aide de TairGIS et Implémenter un service de shopping local à l'aide de TairGIS. | |
Doc (JSON) | RedisJSON | TairDoc est une structure de données de type document prenant en charge la norme JSON, similaire au module RedisJSON. TairDoc stocke les données au format binaire, ce qui permet un accès rapide aux sous-éléments d'un objet JSON. | |
Recherche | RediSearch | TairSearch fournit une syntaxe de requête similaire à Elasticsearch, une gamme plus large d'analyseurs lexicaux précis et des performances de requête supérieures. | |
Séries temporelles | RedisTimeSeries | Par rapport à RedisTimeSeries, TairTS offre une meilleure extensibilité des tags. Il prend en charge une structure de hachage à deux niveaux pour les chronologies basées sur les skeys (tags), permet des requêtes d'agrégation sur la chronologie secondaire et vous permet de mettre à jour ou d'ajouter des données aux séries temporelles historiques. Bonne pratique : Implémenter une surveillance à la seconde près à l'aide de TairTS. | |
Sketches | RedisBloom | TairBloom est compatible avec RedisBloom et prend en charge la mise à l'échelle dynamique. Il utilise un algorithme de hachage 64 bits pour réduire les collisions de hachage, abaissant considérablement le taux de collision pour les grands ensembles de données. Bonnes pratiques : Idéal pour les systèmes de recommandation et les systèmes de crawl. Pour plus d'informations, consultez TairBloom et Gérer efficacement les notifications push d'événements de jeu à l'aide d'un filtre Bloom. | |
Aucun | TairCpc est une structure de données développée sur la base de l'algorithme Compressed Probability Counting (CPC) sketch. Elle effectue des calculs haute performance sur des données échantillonnées tout en utilisant une mémoire minimale. TairCpc prend en charge les fenêtres glissantes et par blocs pour un meilleur traitement des flux et inclut des opérateurs d'agrégation courants utilisés dans l'analytique Big Data, tels que | ||
Bitmap | Aucun | TairRoaring fournit un module de calcul efficace et hautement stable. Il prend en charge les opérations sur plusieurs bitmaps, ce qui améliore les performances et l'efficacité spatiale. Bonne pratique : Implémenter la sélection de cohortes d'utilisateurs à l'aide de TairRoaring. | |
recherche vectorielle | Redis Search (Similarité vectorielle) | TairVector est une structure de données étendue propriétaire développée par Tair. Elle fournit un service de base de données vectorielles en temps réel haute performance qui intègre le stockage et la récupération. Bonnes pratiques : |
Clients Tair (Enterprise Edition)
Pour simplifier l'utilisation des structures de données étendues Tair, Tair a développé des clients Tair basés sur plusieurs clients Redis populaires. Vous pouvez utiliser ces clients Tair pour accéder directement aux structures de données étendues Tair.
Vous trouverez les clients suivants sur GitHub. Les référentiels incluent également du code d'exemple.
|
Client Tair |
Langage de programmation |
Description |
|
Java |
Un client Tair basé sur Jedis. |
|
|
.NET |
Un client Tair basé sur .NET Core 5.0 et StackExchange.Redis 2.5.61. |
|
|
Go |
Un client Tair basé sur go-redis. |
|
|
Python |
Un client Tair basé sur redis-py. |
FAQ
-
Q : Tair (compatible avec Redis OSS) prend-il en charge Redis Stack Server ?
R : En raison des restrictions de licence open source de Redis, ni la version Open Source de Redis d'Alibaba Cloud ni Tair (Enterprise Edition) ne prennent en charge Redis Stack Server.
Pour y remédier, Tair (Enterprise Edition) propose ses propres structures de données étendues propriétaires, incluant exString (qui comprend l'amélioration des commandes Redis String), exHash, exZset, GIS, TairBloom, Doc, TS, Cpc, Roaring, TairSearch et Vector. Tair prend en charge une gamme plus large de structures de données que Redis Stack Server et offre de meilleures performances pour certaines d'entre elles.
-
Q : Comment définir une durée de vie (TTL) pour les structures de données étendues Tair ?
R : Pour exString, exHash et Cpc, vous pouvez définir la TTL directement avec leurs commandes spécifiques. Pour les autres structures de données étendues Tair, définissez la TTL de la clé avec la commande EXPIRE | EXPIREAT <NomClé>, par exemple
EXPIRE foo 60. -
Q : Comment vérifier quelles structures de données étendues mon instance prend en charge ?
R : Les structures de données étendues prises en charge dépendent du Product Type et du Instance Type de l'instance. Connectez-vous à la console Tair et accédez à la page Instance Details pour vérifier le Product Type (Community Edition ou Enhanced Edition (Tair)) et le Instance Type (optimisé pour la mémoire/optimisé pour la mémoire persistante/optimisé pour le stockage), puis confirmez la plage prise en charge sur la base de la description ci-dessous :
Version Open Source de Redis : Prend uniquement en charge les commandes Redis standard et ne prend pas en charge les structures de données étendues Tair.
type en mémoire : La prise en charge varie selon la version de compatibilité Redis. Les instances compatibles avec Redis 7.0 et 6,0 prennent en charge toutes les structures de données étendues Tair, tandis que les instances compatibles avec Redis 5.0 ne prennent pas en charge Vector.
type mémoire persistante : Prend uniquement en charge exString (y compris l'amélioration des commandes Redis String), exHash et Cpc.
Type basé sur disque : Ne prend pas en charge les structures de données étendues Tair.