Tous les produits
Search
Centre de documentation

Tair (Redis® OSS-Compatible):TS

Dernière mise à jour :Aug 09, 2026

TairTS est une structure de données de séries temporelles conçue sous forme de module Redis. Elle offre un accès en mémoire en lecture et écriture à faible latence et haute concurrence, prend en charge le filtrage rapide et les requêtes d'agrégation, et gère à la fois le stockage et le traitement des données de séries temporelles.

Concepts clés

TairTS organise les données selon une hiérarchie à trois niveaux :

  • Pkey : conteneur nommé regroupant un ensemble de chronologies associées (skeys). Chaque pkey peut contenir plusieurs skeys.

  • Skey : chronologie unique au sein d'un pkey. Un skey est composé de plusieurs chunks de capacité fixe et peut comporter un ou plusieurs labels pour le filtrage.

  • Chunk : unité de stockage des données au sein d'un skey. Chaque chunk stocke plusieurs points de données.

    • La capacité par défaut d'un chunk est de 256. Sans compression, un chunk stocke jusqu'à 256 points de données. Avec la compression activée, un chunk stocke plus de 256 points de données, selon le taux de compression.

    • Les chunks constituent la plus petite unité d'expiration. Un chunk est supprimé lorsque tous ses points de données ont expiré.

  • Point de données : mesure unique de série temporelle, composée d'un horodatage Unix (en millisecondes) et d'une valeur de type DOUBLE.

Cette structure multiniveau (pkey → skey → chunk → point de données) vous permet de regrouper des chronologies associées et d'exécuter des requêtes d'agrégation sur plusieurs skeys en une seule commande, sans intégrer de logique d'agrégation dans votre code applicatif.

Outre les requêtes d'agrégation multi-chronologies, TairTS offre les fonctionnalités suivantes :

  • Mise à jour et accumulation des données de séries temporelles historiques.

  • Définition du TTL au niveau de la chronologie, garantissant que chaque chronologie peut effectuer un défilement automatique selon une fenêtre de temps.

  • Algorithme de compression Gorilla efficace avec des optimisations de stockage spécifiques pour réduire significativement les coûts.

Cas d'utilisation

  • Stockage et traitement des données de supervision

  • Supervision à la seconde pour la gestion des performances applicatives (APM)

  • Analyse et traitement des données pour l’Internet des objets (IoT)

  • Analyse des données sur des fenêtres temporelles

  • Mise en cache des flux d’actualités les plus consultés

  • Contrôle des risques dans les scénarios de limitation de débit

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Une instance Tair basée sur DRAM

  • Si l'instance est compatible avec Redis 5.0 : version mineure 1.7.20 ou ultérieure

Mettez à jour l'instance vers la dernière version mineure pour bénéficier d'une prise en charge optimale des fonctionnalités et d'une stabilité accrue. Pour les instances en cluster et celles utilisant la séparation lecture/écriture, mettez également à jour les nœuds proxy vers la dernière version mineure afin que toutes les commandes s'exécutent comme prévu. Pour plus d'informations, consultez la rubrique Mettre à jour la version mineure d'une instance.

Remarques sur l'utilisation

  • Les données TairTS sont stockées sur l'instance Tair.

  • TairTS prend en charge les écritures et les requêtes en temps réel avec une forte concurrence, mais sa capacité de stockage est limitée. Définissez une durée de vie (TTL) pour les données TairTS afin que les données expirées soient supprimées rapidement.

Important

Modification incompatible dans la version 24.7.0.0. Le 22 juillet 2024, les instances Tair basées sur DRAM compatibles avec Redis 6.0 ont été mises à jour vers la version 24.7.0.0. Cette version introduit le paramètre ts-auto-del-empty-skey-enable, dont la valeur par défaut est yes. Lorsqu'il est défini sur yes, un skey est automatiquement supprimé lorsque tous ses points de données expirent. Dans les versions antérieures à la 24.7.0.0, les skeys expirés ne sont pas supprimés par défaut. Avant d'utiliser TairTS sur une instance compatible avec Redis 6.0, effectuez la mise à niveau vers la version 24.7.0.0 ou ultérieure, puis vérifiez et ajustez manuellement les paramètres du paramètre ts-auto-del-empty-skey-enable afin d'éviter tout comportement inattendu de votre application.

Bonnes pratiques

Définissez CHUNK_SIZE en fonction de votre volume de données

Pour optimiser l'utilisation de la mémoire ainsi que les performances en lecture et en écriture, ajustez CHUNK_SIZE selon le nombre moyen de points de données par skey :

Nombre moyen de points de données par skey CHUNK_SIZE recommandé Raison
Plus de 5 000 256 (par défaut) Des chunks plus grands réduisent le nombre de chunks et la surcharge liée aux métadonnées
Moins de 5 000 Moyenne / 20 (par exemple, 50 pour 1 000 points) Des chunks plus petits diminuent le coût de décompression pour les requêtes sur une plage restreinte
La définition d'une valeur faible pour CHUNK_SIZE associée à un volume d'écriture élevé entraîne la création de nombreux chunks, ce qui peut dégrader les performances.

Définissez systématiquement une durée de vie (TTL) pour les skeys

La capacité de stockage de TairTS est limitée. Spécifiez DATA_ET lors de la création des skeys ou de l'ajout de points de données afin que les données expirées soient nettoyées automatiquement.

Liste des commandes

Type Commande Syntaxe Description
Opérations d'écriture de base EXTS.P.CREATE EXTS.P.CREATE Pkey Crée une clé P TairTS. L'opération échoue si une clé P portant le même nom existe déjà.
EXTS.S.CREATE EXTS.S.CREATE Pkey Skey [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 label2 val2 ...] Crée une clé S dans une clé P. La clé P est automatiquement créée si elle n'existe pas. L'opération échoue si une clé S portant le même nom existe déjà.
EXTS.S.ALTER EXTS.S.ALTER Pkey Skey [DATA_ET time] Modifie les métadonnées d'une clé S. Seul le paramètre DATA_ET peut être modifié.
EXTS.S.ADD EXTS.S.ADD Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Insère un point de données dans une clé S. La clé P ou la clé S est automatiquement créée si elle n'existe pas. Les paramètres de la clé S ne s'appliquent que lors de sa création automatique.
EXTS.S.MADD EXTS.S.MADD Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Insère un point de données dans plusieurs clés S d'une clé P en un seul appel. La clé P ou les clés S sont automatiquement créées si elles n'existent pas.
EXTS.S.INCRBY EXTS.S.INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Insère un point de données en ajoutant (ou soustrayant) une valeur au dernier point de données de la clé S. La valeur initiale par défaut est 0. La clé P ou la clé S est automatiquement créée si elle n'existe pas.
EXTS.S.MINCRBY EXTS.S.MINCRBY Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Insère des points de données dans plusieurs clés S en incrémentant ou décrémentant leurs dernières valeurs. La clé P ou les clés S sont automatiquement créées si elles n'existent pas.
EXTS.S.DEL EXTS.S.DEL Pkey Skey Supprime une clé S et tous ses points de données d'une clé P.
Opérations de lecture de base EXTS.S.GET EXTS.S.GET Pkey Skey Renvoie le dernier point de données d'une clé S.
EXTS.S.INFO EXTS.S.INFO Pkey Skey Renvoie les métadonnées d'une clé S : nombre de points de données, dernier horodatage et valeur, ainsi que les informations sur les libellés.
EXTS.S.QUERYINDEX EXTS.S.QUERYINDEX Pkey filter1 [filter2 ...] Renvoie les clés S d'une clé P qui correspondent aux filtres de libellés spécifiés.
Opérations d'agrégation EXTS.S.RANGE EXTS.S.RANGE Pkey Skey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] Renvoie les points de données d'une clé S dans une plage de temps fermée, avec agrégation facultative.
EXTS.S.MRANGE EXTS.S.MRANGE Pkey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] [WITHLABELS] FILTER filter1 [filter2 ...] Renvoie les points de données de plusieurs clés S correspondant aux filtres de libellés, dans une plage de temps fermée.
EXTS.P.RANGE EXTS.P.RANGE Pkey fromTs toTs pkeyAggregationType pkeyTimeBucket [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] FILTER filter1 [filter2 ...] Agrège les points de données entre les clés S d'une clé P. Les clés S sont d'abord agrégées (comme avec EXTS.S.MRANGE), puis les résultats sont agrégés au niveau de la clé P.
Opérations d'écriture concurrentes EXTS.S.RAW_MODIFY EXTS.S.RAW_MODIFY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Définit la valeur d'un point de données à un horodatage spécifique. La clé P ou la clé S est automatiquement créée si elle n'existe pas.
EXTS.S.RAW_MMODIFY EXTS.S.RAW_MMODIFY Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Définit les valeurs de plusieurs points de données à des horodatages spécifiques en un seul appel. La clé P ou les clés S sont automatiquement créées si elles n'existent pas.
EXTS.S.RAW_INCRBY EXTS.S.RAW_INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Modifie un point de données à un horodatage spécifique en ajoutant ou soustrayant une valeur. La clé P ou la clé S est automatiquement créée si elle n'existe pas. La valeur initiale par défaut est 0.
EXTS.S.RAW_MINCRBY EXTS.S.RAW_MINCRBY Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Modifie plusieurs points de données à des horodatages spécifiques en un seul appel. La clé P ou les clés S sont automatiquement créées si elles n'existent pas.
Opérations générales DEL DEL key [key ...] Supprime une ou plusieurs clés TairTS.
Conventions de syntaxe des commandes :
MOT_CLÉ_EN_MAJUSCULE : mot clé de commande
_Texte en italique_ : variable
[options] : paramètre facultatif
A|B : options mutuellement exclusives
... : le paramètre précédent peut être répété

EXTS.P.CREATE

Time complexity
Élément Description
Syntax EXTS.P.CREATE Pkey
O(1)
description Crée une pkey TairTS. L'opération échoue si une pkey portant le même nom existe déjà.
Parameters Pkey : nom de la pkey
Returns OK en cas de succès ; un message d'erreur dans le cas contraire

Exemple :

EXTS.P.CREATE foo

Résultat :

OK

EXTS.S.CREATE

Élément description
Syntax EXTS.S.CREATE Pkey Skey [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 label2 val2 ...]
Time complexity O(1)
Description Crée un skey dans le pkey spécifié. Le pkey est créé automatiquement s’il n’existe pas encore. La commande échoue si un skey portant le même nom existe déjà.
Parameters Voir ci-dessous
Returns OK en cas de succès ; un message d’erreur dans le cas contraire

Paramètres :

Paramètre description
Pkey Nom du pkey
Skey Nom du skey
DATA_ET time Durée d’expiration relative des points de données, exprimée en millisecondes. Par défaut, aucune expiration n’est définie.
CHUNK_SIZE size Taille d’un chunk unique, par multiples de 16 octets. Valeurs acceptées : 1 à 256. Valeur par défaut : 256 (soit 4 Ko par chunk). Lorsqu’un chunk atteint sa capacité maximale, un nouveau chunk est créé. Consultez les Bonnes pratiques pour obtenir des recommandations d’optimisation.
UNCOMPRESSED Désactive la compression pour le skey. La compression est activée par défaut.
LABELS label val ... Une ou plusieurs paires clé-valeur associées au skey. Exemple : LABELS sensor_id 1.

Exemple :

EXTS.S.CREATE foo temperature DATA_ET 10000000 LABELS sensor_id 1

Résultat :

OK

EXTS.S.ALTER

Élément description
Syntax EXTS.S.ALTER Pkey Skey [DATA_ET time]
Time complexity O(1)
Description Modifie les métadonnées d’une skey. Seul le paramètre DATA_ET peut être modifié.
Parameters Voir ci-dessous
Returns OK en cas de succès ; un message d’erreur dans le cas contraire

Paramètres :

Paramètre description
Pkey Nom de la pkey
Skey Nom de la skey
DATA_ET time Nouvelle durée d’expiration relative des points de données, en millisecondes. Par défaut, aucune expiration n’est définie.

Exemple :

EXTS.S.ALTER foo temperature DATA_ET 100000

Résultat :

OK

EXTS.S.ADD

Élément description
Syntax EXTS.S.ADD Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]
Time complexity O(1)
Description Insère un point de données dans une skey. Crée automatiquement la pkey ou la skey si elles n'existent pas encore. Les paramètres de la skey (DATA_ET, CHUNK_SIZE, UNCOMPRESSED, LABELS) ne s'appliquent que lors de la création automatique de la skey.
Parameters Voir ci-dessous
Returns OK en cas de succès ; un message d'erreur dans le cas contraire

Paramètres :

Paramètre description
Pkey Nom de la pkey
Skey Nom de la skey
ts Horodatage Unix du point de données, en millisecondes. Utilisez * pour l'heure actuelle du serveur.
value Valeur du point de données. Doit être un nombre à virgule flottante en double précision.
DATA_ET time Durée d'expiration relative des points de données, en millisecondes. Par défaut, aucune expiration n'est définie.
CHUNK_SIZE size Taille du chunk, par unités de 16 octets. Valeurs valides : 1–256. Par défaut : 256. Consultez EXTS.S.CREATE.
UNCOMPRESSED Désactive la compression pour la skey. La compression est activée par défaut.
LABELS label val ... Une ou plusieurs paires libellé-valeur. Exemple : LABELS sensor_id 1.

Exemple :

EXTS.S.ADD foo temperature * 30.5 DATA_ET 1000000 LABELS sensor_id 1

Sortie :

OK

EXTS.S.MADD

Élément description
Syntax EXTS.S.MADD Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]
Time complexity O(n), où n représente le nombre de skeys
Description Insère un point de données dans plusieurs skeys d'une pkey en un seul appel. La commande crée automatiquement la pkey ou les skeys si elles n'existent pas encore. Les paramètres de skey ne s'appliquent que lors de la création automatique de la skey.
Parameters Voir ci-dessous
Returns OK pour chaque skey en cas de succès ; messages d'erreur dans le cas contraire

Paramètres :

Paramètre description
Pkey Nom de la pkey
keynumber Nombre d'enregistrements skey-ts-value à insérer
Skey Nom de la skey
ts Horodatage Unix, en millisecondes. Utilisez * pour l'heure actuelle du serveur.
value Valeur du point de données. Doit être un nombre à virgule flottante en double précision.
DATA_ET time Durée d'expiration relative, en millisecondes. Par défaut, aucune expiration n'est définie.
CHUNK_SIZE size Taille du chunk, par unités de 16 octets. Valeurs valides : 1–256. Valeur par défaut : 256.
UNCOMPRESSED Désactive la compression. Activée par défaut.
LABELS label val ... Une ou plusieurs paires libellé-valeur.

Exemple :

EXTS.S.MADD foo 3 temperature * 30.2 pressure * 2.05 distance * 0.5

Sortie :

1) OK
2) OK
3) OK

EXTS.S.INCRBY

Élément Description
Syntax EXTS.S.INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]
Time complexity O(1)
Description Insère un point de données dont la valeur correspond à la valeur du dernier point de données augmentée de value. Une value négative soustrait cette quantité de la dernière valeur. La commande crée automatiquement la clé primaire (pkey) ou la clé secondaire (skey) si elles n'existent pas. La valeur initiale par défaut est 0.
Parameters Voir ci-dessous
Returns OK en cas de succès ; un message d'erreur dans le cas contraire

Paramètres :

Paramètre Description
Pkey Nom de la clé primaire (pkey).
Skey Nom de la clé secondaire (skey).
ts Horodatage Unix, en millisecondes. Utilisez * pour l'heure actuelle du serveur.
value Incrément (ou décrément si la valeur est négative) à appliquer à la valeur du dernier point de données. Doit être un nombre à virgule flottante en double précision.
DATA_ET time Délai d'expiration relatif, en millisecondes. Par défaut, aucune expiration n'est définie.
CHUNK_SIZE size Taille du chunk, en unités de 16 octets. Valeurs valides : 1–256. Valeur par défaut : 256.
UNCOMPRESSED Désactive la compression. La compression est activée par défaut.
LABELS label val ... Une ou plusieurs paires libellé-valeur.

Exemple :

Commencez par ajouter un point de données initial :

EXTS.S.ADD foo temperature 1644310456023 30.0

Ensuite, incrémentez-le :

EXTS.S.INCRBY foo temperature 1644372093031 2

Résultat :

OK

Vérifiez le résultat :

EXTS.S.GET foo temperature

Résultat :

1) (integer) 1644372093031
2) "32"

EXTS.S.MINCRBY

Élément Description
Syntax EXTS.S.MINCRBY Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]
Time complexity O(n), où n représente le nombre de skeys
Description Insère des points de données dans plusieurs skeys en incrémentant (ou en décrémentant) la dernière valeur de chaque skey. Crée automatiquement le pkey ou les skeys s'ils n'existent pas encore. La valeur initiale par défaut est 0.
Parameters Voir ci-dessous
Returns OK pour chaque skey en cas de succès ; messages d'erreur dans le cas contraire

Paramètres :

Paramètre Description
Pkey Nom du pkey
keynumber Nombre de skeys
Skey Nom du skey
ts Horodatage Unix, en millisecondes. Utilisez * pour l'heure actuelle du serveur.
value Incrément (ou décrément si la valeur est négative). Doit être un nombre à virgule flottante en double précision.
DATA_ET time Délai d'expiration relatif, en millisecondes. Aucune expiration par défaut.
CHUNK_SIZE size Taille du chunk, par unités de 16 octets. Valeurs valides : 1–256. Par défaut : 256.
UNCOMPRESSED Désactive la compression. Activée par défaut.
LABELS label val ... Une ou plusieurs paires libellé-valeur.

Exemple :

EXTS.S.MINCRBY foo 3 temperature * 0.2 pressure * -0.1 distance * 0.0

Sortie :

1) OK
2) OK
3) OK

EXTS.S.DEL

Élément description
Syntax EXTS.S.DEL Pkey Skey
Time complexity O(1)
Description Supprime un skey et tous ses points de données d'un pkey.
Parameters Pkey : nom du pkey ; Skey : nom du skey
Returns OK en cas de succès ; un message d'erreur dans le cas contraire

Exemple :

EXTS.S.DEL foo temperature

Résultat :

OK

EXTS.S.GET

Élément Description
Syntax EXTS.S.GET Pkey Skey
Time complexity O(1)
description Renvoie le dernier point de données d'un skey.
Parameters Pkey : nom du pkey ; Skey : nom du skey
Returns Le dernier point de données (horodatage et valeur) en cas de succès ; nil si le pkey ou le skey n'existe pas ; un message d'erreur dans les autres cas

Exemple :

EXTS.S.GET foo temperature

Résultat :

1) (integer) 1644372730150
2) "32.2"

EXTS.S.INFO

Élément Description
Syntax EXTS.S.INFO Pkey Skey
Time complexity O(1)
Description Renvoie les métadonnées d'une skey, notamment le nombre de points de données, l'horodatage et la valeur les plus récents, ainsi que les informations de libellé.
Parameters Pkey : nom de la pkey ; Skey : nom de la skey
Returns Métadonnées de la skey en cas de succès ; nil si la pkey ou la skey n'existe pas ; message d'erreur dans les autres cas

Exemple :

EXTS.S.INFO foo temperature

Sortie :

 1) totalDataPoints            // Number of data points
 2) (integer) 1
 3) maxDataPoints              // Maximum data points the skey can hold (0 = no limit)
 4) (integer) 0
 5) maxDataPointsPerChunk      // Data points per chunk
 6) (integer) 32
 7) dataPointsExpireTime       // Relative expiration time in milliseconds (0 = no expiration)
 8) (integer) 0
 9) lastTimestamp              // Timestamp of the latest data point
10) (integer) 1644389400996
11) chunkCount                 // Number of chunks in the skey
12) (integer) 1
13) lastValue                  // Value of the latest data point
14) (integer) 28
15) labels                     // Label information
16) 1) 1) "sensor_id"
       2) "1"

EXTS.S.QUERYINDEX

Élément description
Syntax EXTS.S.QUERYINDEX Pkey filter1 [filter2 ...]
Time complexity O(n), où n représente le nombre maximal d'ensembles impliqués dans les conditions de filtre
Description Renvoie les skeys d'une pkey qui correspondent aux filtres de libellé spécifiés.
Parameters Voir ci-dessous
Returns Noms des skeys correspondants en cas de succès ; nil si la pkey ou la skey n'existe pas ; un message d'erreur dans les autres cas

Paramètres :

Paramètre description
Pkey Nom de la pkey
filter Conditions de filtre de libellé. Au moins une condition EQ, CONTAINS ou LIST_MATCH est requise. Consultez la section Syntaxe de filtrage par index.

Exemple :

EXTS.S.QUERYINDEX foo sensor_id=1

Résultat :

1) "temperature"

EXTS.S.RANGE

Élément Description
Syntax EXTS.S.RANGE Pkey Skey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket]
Time complexity O(n), où n représente le nombre de fragments contenant les points de données interrogés
Description Renvoie les points de données d'une skey dans une plage de temps fermée [fromTs, toTs], avec agrégation facultative.
Parameters Voir ci-dessous
Returns Points de données (ou résultats d'agrégation) accompagnés d'un jeton de continuation ; nil si la pkey ou la skey n'existe pas ; un message d'erreur dans les autres cas

Paramètres :

Paramètre Description
Pkey Nom de la pkey
Skey Nom de la skey
fromTs Début de la plage de temps, exprimé sous forme d'horodatage Unix en millisecondes
toTs Fin de la plage de temps, exprimée sous forme d'horodatage Unix en millisecondes. Utilisez * pour indiquer l'heure actuelle. Si toTs est égal à fromTs, la requête renvoie les données correspondant à cet instant précis.
MAXCOUNT count Nombre maximal de points de données à renvoyer. Aucune limite par défaut. Limite supérieure : 1 000 000.
AGGREGATION aggregationType timeBucket Type d'agrégation (par exemple, MAX, AVG, SUM) et taille du compartiment de temps en millisecondes (minimum : 1 000). Les données de chaque compartiment sont agrégées et renvoyées sous la forme d'une valeur unique. L'horodatage de chaque résultat correspond au début de son compartiment. Consultez la section Syntaxe d'agrégation.

La réponse inclut un jeton de continuation en tant que dernier élément :

  • 0 : tous les points de données correspondants sont renvoyés

  • 1 : certains points de données ne sont pas inclus. Utilisez l'horodatage du dernier point de données renvoyé comme prochain fromTs pour récupérer les données restantes.

Exemple :

EXTS.S.RANGE foo test 1644459031662 * AGGREGATION AVG 10000 MAXCOUNT 2

Cette commande renvoie la valeur moyenne par compartiment de 10 secondes, limitée à 2 résultats.

Sortie :

1) 1) 1) (integer) 1644459730000
      2) "20.6"
   2) 1) (integer) 1644459790000
      2) "21.2"
2) (integer) 1

Le jeton 1 indique qu'il existe d'autres points de données au-delà de ces 2 résultats.

EXTS.S.MRANGE

Élément Description
Syntax EXTS.S.MRANGE Pkey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] [WITHLABELS] FILTER filter1 [filter2 ...]
Time complexity O(n), où n représente le nombre de blocs contenant les points de données interrogés
Description Renvoie les points de données issus de plusieurs skeys correspondant aux filtres de libellés, dans une plage de temps fermée [fromTs, toTs].
Parameters Voir ci-dessous
Returns Les skeys correspondants avec leurs points de données en cas de succès ; nil si la pkey ou la skey n'existe pas ; un message d'erreur dans les autres cas

Paramètres :

Paramètre Description
Pkey Nom de la pkey
fromTs Début de la plage de temps, sous forme d'horodatage Unix en millisecondes
toTs Fin de la plage de temps, sous forme d'horodatage Unix en millisecondes. Utilisez * pour l'heure actuelle.
MAXCOUNT count Nombre maximal de points de données à renvoyer par skey. Limite supérieure : 1 000 000.
AGGREGATION aggregationType timeBucket Type d'agrégation et taille du compartiment de temps en millisecondes (minimum : 1 000). Les résultats sont renvoyés au début de chaque compartiment.
WITHLABELS Inclut les informations de libellé dans la sortie. Omis par défaut.
FILTER filter ... Conditions de filtre de libellé. Au moins une condition EQ, CONTAINS ou LIST_MATCH est requise. Consultez la section Syntaxe de filtrage d'index.

Exemple :

EXTS.S.MRANGE foo 1644451031662 * AGGREGATION MAX 10000 WITHLABELS FILTER sensor_id=1

Sortie :

1) 1) "temperature"
   2) 1) 1) "sensor_id"
         2) "1"
   3) 1) 1) (integer) 1644481000000
         2) "30"
   4) (integer) 0
2) 1) "test"
   2) 1) 1) "sensor_id"
         2) "1"
   3) 1) 1) (integer) 1644459730000
         2) "20"
      2) 1) (integer) 1644459790000
         2) "20"
      3) 1) (integer) 1644460620000
         2) "29"
   4) (integer) 0

EXTS.P.RANGE

Élément description
Syntax EXTS.P.RANGE Pkey fromTs toTs pkeyAggregationType pkeyTimeBucket [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] FILTER filter1 [filter2 ...]
Time complexity O(n), où n représente le nombre de fragments contenant les points de données interrogés
description Agrège les données de plusieurs skeys au sein d'une même pkey. Les skeys correspondant aux filtres sont d'abord agrégées (comme avec EXTS.S.MRANGE), puis les résultats des skeys sont consolidés au niveau de la pkey.
Parameters Voir ci-dessous
Returns Résultats de l'agrégation au niveau de la pkey en cas de succès ; nil si la pkey ou la skey n'existe pas ; un message d'erreur dans les autres cas

Paramètres :

Paramètre description
Pkey Nom de la pkey
fromTs Début de la plage temporelle, exprimé sous forme d'horodatage Unix en millisecondes
toTs Fin de la plage temporelle, exprimée sous forme d'horodatage Unix en millisecondes. Utilisez * pour indiquer l'heure actuelle.
pkeyAggregationType type d'agrégation appliqué au niveau de la pkey. Consultez la section Syntaxe d'agrégation.
pkeyTimeBucket Taille du compartiment temporel pour l'agrégation au niveau de la pkey, en millisecondes. Minimum : 1 000.
MAXCOUNT count Nombre maximal de points de données à renvoyer par skey. Limite supérieure : 1 000 000.
AGGREGATION aggregationType timeBucket type d'agrégation et taille du compartiment temporel pour l'agrégation au niveau de la skey, en millisecondes. Minimum : 1 000.
FILTER filter ... Conditions de filtrage par libellé. Au moins une condition EQ, CONTAINS ou LIST_MATCH est requise. Consultez la section Syntaxe de filtrage par index.

Exemple :

EXTS.P.RANGE foo 1644451031662 * SUM 500000 AGGREGATION SUM 10000 FILTER sensor_id=1

Sortie :

1) 1) 1) (integer) 1644459500000
      2) "40"
   2) 1) (integer) 1644460500000
      2) "29"
   3) 1) (integer) 1644481000000
      2) "30"
2) (integer) 0

EXTS.S.RAW_MODIFY

Élément Description
Syntax EXTS.S.RAW_MODIFY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]
Time complexity O(1)
Description Définit la valeur d'un point de données à un horodatage spécifique dans une skey. Crée automatiquement la pkey ou la skey si elles n'existent pas. Les paramètres de la skey ne prennent effet que lors de la création automatique de celle-ci.
Parameters Voir ci-dessous
Returns OK en cas de succès ; un message d'erreur dans le cas contraire

Paramètres :

Paramètre Description
Pkey Nom de la pkey
Skey Nom de la skey
ts Horodatage Unix du point de données à mettre à jour, en millisecondes
value Nouvelle valeur du point de données. Doit être un nombre à virgule flottante en double précision.
DATA_ET time Durée d'expiration relative, en millisecondes. Par défaut, aucune expiration n'est définie.
CHUNK_SIZE size Taille du chunk, par unités de 16 octets. Valeurs valides : 1–256. Valeur par défaut : 256.
UNCOMPRESSED Désactive la compression. Activée par défaut.
LABELS label val ... Une ou plusieurs paires libellé-valeur.

Exemple :

EXTS.S.RAW_MODIFY foo temperature 1644310456023 31.5

Résultat :

OK

EXTS.S.RAW_MMODIFY

Élément description
Syntax EXTS.S.RAW_MMODIFY Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]
Time complexity O(n), où n représente le nombre de skeys
Description Cette commande permet de définir les valeurs de plusieurs points de données à des horodatages spécifiques en un seul appel. Elle crée automatiquement la pkey ou les skeys si elles n'existent pas encore.
Parameters Voir ci-dessous
Returns OK pour chaque skey en cas de succès ; messages d'erreur dans le cas contraire

Paramètres :

Paramètre description
Pkey Nom de la pkey
keynumber Nombre d'enregistrements skey-ts-value à mettre à jour
Skey Nom de la skey
ts Horodatage Unix du point de données à mettre à jour, en millisecondes
value Nouvelle valeur du point de données. Doit être un nombre à virgule flottante en double précision.
DATA_ET time Délai d'expiration relatif, en millisecondes. Par défaut, aucune expiration n'est définie.
CHUNK_SIZE size Taille du chunk, par unités de 16 octets. Valeurs valides : 1–256. Valeur par défaut : 256.
UNCOMPRESSED Désactive la compression. Activée par défaut.
LABELS label val ... Une ou plusieurs paires libellé-valeur.

Exemple :

EXTS.S.RAW_MMODIFY foo 3 temperature 1644565954814 30.2 pressure 1644565954814 2.05 distance 1644565954814 0.5

Sortie :

1) OK
2) OK
3) OK

EXTS.S.RAW_INCRBY

Élément Description
Syntax EXTS.S.RAW_INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]
Time complexity O(1)
Description Modifie un point de données à un horodatage spécifique en ajoutant ou en soustrayant une valeur. Crée automatiquement la pkey ou la skey si elles n'existent pas. La valeur initiale par défaut est 0.
Parameters Voir ci-dessous
Returns OK en cas de succès ; un message d'erreur dans le cas contraire

Paramètres :

Paramètre Description
Pkey Le nom de la pkey
Skey Le nom de la skey
ts Horodatage Unix du point de données à mettre à jour, en millisecondes
value L'incrément (ou le décrément si la valeur est négative). Doit être un nombre à virgule flottante en double précision.
DATA_ET time Délai d'expiration relatif, en millisecondes. Par défaut, aucune expiration n'est définie.
CHUNK_SIZE size Taille du chunk, en unités de 16 octets. Valeurs valides : 1–256. Par défaut : 256.
UNCOMPRESSED Désactive la compression. Activée par défaut.
LABELS label val ... Une ou plusieurs paires libellé-valeur.

Exemple :

Tout d'abord, ajoutez un point de données initial :

EXTS.S.ADD foo temperature 1644310456 30.0

Appliquez ensuite un incrément au même horodatage :

EXTS.S.RAW_INCRBY foo temperature 1644310456 3.3

Résultat :

OK

Vérifiez le résultat :

EXTS.S.GET foo temperature

Résultat :

1) (integer) 1644310456
2) "33.3"

EXTS.S.RAW_MINCRBY

Élément description
Syntax EXTS.S.RAW_MINCRBY Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]
Time complexity O(n), où n représente le nombre de points de données
Description Modifie plusieurs points de données à des horodatages spécifiques en un seul appel. Crée automatiquement la pkey ou les skeys si elles n'existent pas.
Parameters Voir ci-dessous
Returns OK pour chaque skey en cas de succès ; messages d'erreur sinon

Paramètres :

Paramètre description
Pkey Nom de la pkey
keynumber Nombre d'enregistrements skey-ts-value à mettre à jour
Skey Nom de la skey
ts Horodatage Unix du point de données à mettre à jour, en millisecondes
value L'incrément (ou le décrément si la valeur est négative). Doit être un nombre à virgule flottante en double précision.
DATA_ET time Délai d'expiration relatif, en millisecondes. Par défaut, aucune expiration n'est définie.
CHUNK_SIZE size Taille du chunk, par unités de 16 octets. Valeurs valides : 1–256. Valeur par défaut : 256.
UNCOMPRESSED Désactive la compression. Activée par défaut.
LABELS label val ... Une ou plusieurs paires libellé-valeur.

Exemple :

EXTS.S.RAW_MINCRBY foo 3 temperature 1644565954814 30.2 pressure 1644565954814 2.05 distance 1644565954814 0.5

Résultat :

1) OK
2) OK
3) OK

Syntaxe de filtrage d'index

Utilisez des filtres de libellé pour sélectionner les skeys dans EXTS.S.QUERYINDEX, EXTS.S.MRANGE et EXTS.P.RANGE. Au moins une condition EQ, CONTAINS ou LIST_MATCH est requise.

Expression de filtre Logique description
L = V EQ Le libellé L est égal à V
L != CONTAINS Le libellé L existe (n'est pas nul)
L = (v1,v2,...) LIST_MATCH Le libellé L correspond à l'une des valeurs répertoriées
L != V NOEQ Le libellé L n'est pas égal à V
L = NOCONTAINS Le libellé L n'existe pas (est nul)
L != (v1,v2,...) LIST_NOTMATCH Le libellé L ne correspond à aucune des valeurs répertoriées

Syntaxe d'agrégation

L'agrégation regroupe les points de données au sein de chaque intervalle temporel défini par timeBucket et calcule une valeur unique pour chaque intervalle. Les types d'agrégation suivants sont pris en charge :

Type Valeur renvoyée
MAX Valeur maximale
MIN Valeur minimale
AVG Valeur moyenne
SUM Somme de toutes les valeurs
FIRST Première valeur de l'intervalle
LAST Dernière valeur de l'intervalle
RANGE Différence entre les valeurs maximale et minimale
COUNT Nombre de valeurs
STD.P Écart-type de la population
STD.S Écart-type de l'échantillon
VAR.P Variance de la population
VAR.S Variance de l'échantillon

FAQ

Pourquoi la valeur par défaut de CHUNK_SIZE est-elle faible sur certaines instances Tair basées sur DRAM compatibles avec Redis 5.0 ?

À partir de la version 25.2.0.0, la valeur par défaut de CHUNK_SIZE est 256. Dans les versions antérieures, elle est définie par défaut à 32.

Étapes suivantes