Tous les produits
Search
Centre de documentation

Tair (Redis® OSS-Compatible):Normes de développement et d'exploitation pour Tair (Redis OSS-compatible)

Dernière mise à jour :Sep 18, 2026

Tair (Redis OSS-compatible) offre un traitement de données en mémoire haute performance. Suivez ces normes de développement et d'exploitation pour Tair (Redis OSS-compatible) afin de concevoir des systèmes efficaces et de tirer le meilleur parti de Tair. Fondées sur des années d'expérience d'exploitation chez Alibaba Cloud, ces normes couvrent le déploiement métier, la conception des clés, l'utilisation du SDK, l'usage des commandes et la gestion opérationnelle.

Limites de performance de Tair

Figure 1. Limites de performance de TairTair performance boundaries

Type de ressource

Description

Ressources de calcul

Les caractères génériques, les scripts Lua concurrents, les abonnements PUBSUB de type un-à-plusieurs et les clés fréquemment sollicitées consomment d'importantes ressources de calcul. Pour les instances cluster, ces éléments peuvent également entraîner une répartition inégale des requêtes et une sous-utilisation des shards.

Ressources de stockage

Les tâches de streaming et les clés volumineuses mobilisent fortement les ressources de stockage. Pour les instances cluster, elles peuvent aussi provoquer une asymétrie des données et une sous-utilisation des shards.

Ressources réseau

Les analyses à l'échelle de la base de données (KEYS) et les requêtes par plage sur des clés et valeurs volumineuses (HGETALL) consomment d'importantes ressources réseau et provoquent souvent des congestions de threads.

Important

La capacité de haute concurrence de Tair n'améliore pas significativement les performances d'accès comme attendu, mais affecte les performances globales de Tair. Par exemple, le stockage de valeurs volumineuses dans Tair n'améliore pas considérablement les performances d'accès.

Pour instances cluster, les clés fréquemment sollicitées, les clés volumineuses ou les valeurs volumineuses peuvent également entraîner une asymétrie du stockage ou des requêtes. Dans un environnement de production, il est crucial d'éviter d'atteindre les limites de performance de Tair.

Normes de déploiement métier

Importance

Norme

Description

★★★★★

Déterminez si votre scénario relève du cache haute vitesse ou des bases de données en mémoire .

★★★★★

Déployez votre application dans le même cloud privé virtuel (VPC) que vos instances Tair, par exemple sur une instance Elastic Compute Service (ECS).

Tair offre des performances élevées, mais un déploiement éloigné des instances Tair ou une connexion via Internet dégrade considérablement les performances en raison de la latence réseau.

Remarque

Pour un déploiement inter-régions, utilisez le Global Distributed Cache afin d'assurer la reprise après sinistre géographique, la redondance active entre sites géographiques et de réduire la latence.

★★★★☆

Créez une instance Tair dédiée à chaque service.

Ne partagez pas une instance Tair entre plusieurs services. Le mélange de charges de travail de type cache et base de données en mémoire entraîne des politiques d'éviction, des requêtes lentes et l'exécution de la commande FLUSHDB d'un service qui impacte les autres.

★★★★☆

Configurez des politiques d'éviction appropriées pour supprimer les clés expirées.

La politique d'éviction par défaut pour les clés expirées dans Tair est volatile-lru . Configurez les politiques d'éviction dans les Paramètres configurables pour les instances Redis Open-Source Edition.

★★★☆☆

Gérez les données de test de charge et leur durée.

Tair ne supprime pas automatiquement les données de test de charge. Pour éviter tout impact sur votre activité, vous devez gérer vous-même ces données et leur durée de conservation.

Normes de conception des clés

Importance

Norme

Description

★★★★★

Maintenez la taille des valeurs inférieure à 10 Ko.

Des valeurs trop volumineuses provoquent une asymétrie des données, des clés fréquemment sollicitées, une bande passante élevée ou une utilisation excessive du CPU.

★★★★★

Utilisez des noms de clés descriptifs et concis.

  • Noms de clés :

    • Utilisez des chaînes lisibles. Séparez les composants base de données, table et champ par des deux-points (:). Exemple : project:user:001.

    • Raccourcissez les noms de clés sans perdre en clarté. Par exemple, username peut être abrégé en u.

    • Dans Redis, les accolades {} constituent des tags de hachage. Dans les instances cluster, utilisez correctement les accolades dans les noms de clés pour éviter l'asymétrie des données . Spécification du cluster Redis.

      Remarque

      Pour une instance cluster, si vous souhaitez gérer plusieurs clés avec une commande telle que RENAME et que vous n'utilisez pas de tags de hachage pour placer les clés dans le même shard de données, la commande échoue.

  • Longueur : maintenez les noms de clés dans une limite de 128 octets, de préférence plus courts.

★★★★★

Limitez le nombre de sous-clés par structure de données complexe à moins de 1 000.

Remarque

Les structures de données complexes courantes incluent Hash, Set, Zset, Geo et Stream, ainsi que les structures spécifiques à Tair (Enterprise Edition), telles que exHash, Bloom et TairGIS.

La complexité temporelle de commandes comme HGETALL augmente avec le nombre de sous-clés. L'exécution fréquente de commandes O(N)+ sur des clés comportant un nombre excessif de sous-clés provoque des requêtes lentes, une asymétrie des données et des clés fréquemment sollicitées.

★★★★☆

Sérialisez les valeurs dans des structures lisibles.

Le bytecode des langages peut changer entre les versions. Stocker des objets bruts (Java, C#) dans Tair complique les mises à niveau de pile. Préférez la sérialisation des valeurs dans des structures lisibles.

Normes d'utilisation du SDK

Importance

Norme

Description

★★★★★

Utilisez JedisPool ou JedisCluster pour vous connecter aux instances Tair.

Remarque

Utilisez le client TairJedis pour les instances basées sur DRAM de Tair (Enterprise Edition) — il fournit des classes d'encapsulation pour les nouvelles structures de données. Utilisez un client pour vous connecter à une instance.

Les connexions uniques ne peuvent pas se reconnecter automatiquement après un délai d'attente. Configurez les connexions JedisPool : Utilisez un client pour vous connecter à une instance, Optimisation de JedisPool et JedisCluster.

★★★★☆

Concevez des mécanismes de tolérance aux pannes adaptés pour vos clients.

Les fluctuations réseau et l'utilisation intensive des ressources peuvent provoquer des délais d'attente de connexion ou des requêtes lentes dans Tair. Pour prévenir ces risques, vous devez concevoir des mécanismes de tolérance aux pannes appropriés pour vos clients.

★★★★☆

Utilisez des intervalles de nouvelle tentative suffisants.

Des intervalles de nouvelle tentative inférieurs à 200 ms peuvent déclencher des tentatives rapides et provoquer un effondrement en cascade du service. Mécanismes de nouvelle tentative pour les clients Redis.

Normes d'utilisation des commandes

Importance

Norme

Description

★★★★★

Évitez les requêtes par plage telles que KEYS *. Privilégiez les requêtes ponctuelles ou la commande SCAN.

Les requêtes par plage peuvent entraîner des interruptions de service, des requêtes lentes ou des congestions.

★★★★★

Utilisez des structures de données étendues (telles que exString (y compris les commandes qui améliorent les fonctionnalités des chaînes Redis), exHash, exZset, GIS, Bloom, Doc, TS, Cpc, Roaring, Search et Vector) plutôt que des scripts Lua.

Les scripts Lua consomment d'importantes ressources de calcul et de mémoire sans prise en charge du multithreading. Des scripts complexes ou mal conçus peuvent épuiser les ressources.

★★★★☆

Utilisez des pipelines pour réduire le temps aller-retour (RTT) des données.

Lorsque votre client ne dépend pas de réponses individuelles, regroupez les commandes via un pipeline. Recommandations :

  • Établissez une connexion dédiée pour les opérations par pipeline, distincte des opérations régulières.

  • Limitez chaque pipeline à 100 commandes maximum.

★★★★☆

Utilisez correctement les commandes Redis.

Limites des commandes de transaction :

  • Les transactions Redis ne peuvent pas faire l'objet d'un rollback.

  • Si vous souhaitez exécuter des commandes de transaction sur des instances cluster, utilisez des tags de hachage pour allouer les clés au même slot de hachage. Prévenez l'asymétrie de stockage que les tags de hachage peuvent provoquer.

  • N'incluez pas de commandes de transaction dans des scripts Lua — la compilation et le chargement consomment d'importantes ressources de calcul.

★★★★☆

Évitez la distribution de messages à grande échelle avec les commandes Pub/Sub.

Pub/Sub ne dispose ni de mécanisme de persistance des données ni de mécanisme d'accusé de réception. La distribution de messages dépassant 1 Ko à plus de 100 abonnés peut épuiser les ressources du serveur et entraîner une perte de messages.

Remarque

Pour améliorer les performances et l'équilibrage, Tair optimise Pub/Sub dans les instances cluster en hachant les commandes vers les nœuds de données en fonction des noms de canal.

Normes de gestion opérationnelle

Importance

Norme

Description

★★★★★

Comprenez les impacts des différentes opérations de gestion des instances.

Les modifications de configuration ou les redémarrages peuvent provoquer des déconnexions transitoires sur une instance Tair. Évaluez les impacts avant d'intervenir. États des instances et impacts.

★★★★★

Testez la gestion des erreurs côté client et la logique de reprise après sinistre.

Tair surveille l'état des nœuds et déclenche automatiquement un basculement maître-réplica lorsque le maître devient indisponible. Avant la mise en production d'un client, déclenchez manuellement un basculement pour vérifier la gestion des erreurs et la logique de reprise après sinistre. Basculez manuellement les charges de travail d'un nœud maître vers un nœud réplica.

★★★★★

Désactivez les commandes chronophages ou à haut risque.

L'abus de commandes en production peut entraîner une perte de données (FLUSHALL) ou une congestion réseau (KEYS). Désactivez les commandes à risque pour améliorer la stabilité. Désactivez les commandes à haut risque.

★★★★☆

Traitez rapidement les événements en attente.

Alibaba Cloud génère des événements en attente pour les mises à niveau matérielles, les mises à jour logicielles ou la maintenance réseau — par exemple, lorsqu'une version mineure de la base de données doit être mise à jour. Évaluez l'impact et reprogrammez si nécessaire. Affichez et gérez les événements planifiés.

★★★★☆

Configurez des alertes pour les métriques essentielles.

Surveillez en temps réel l'utilisation du CPU, la mémoire et la bande passante grâce aux Paramètres d'alerte.

★★★★☆

Vérifiez régulièrement l'état de santé des instances en utilisant les fonctionnalités d'exploitation de Tair afin de diagnostiquer les anomalies de ressources.

★★★☆☆

Activez la fonctionnalité de journal d'audit et évaluez les journaux d'audit.

La fonctionnalité de journal d'audit enregistre les opérations d'écriture et prend en charge la consultation, l'analyse en ligne et l'exportation. Utilisez-la pour surveiller la sécurité et les performances des instances. Journal d'audit.

Important

Après avoir activé la fonctionnalité de journal d'audit, les performances des instances Tair peuvent diminuer de 5 % à 15 %, selon le volume d'écritures et d'audits. Pour les charges de travail Tair intensives en écriture, activez les journaux d'audit uniquement lors des opérations d'exploitation, telles que le dépannage.