TairTS es una estructura de datos de series temporales implementada como módulo de Redis. Ofrece acceso de lectura y escritura en memoria con baja latencia y alta concurrencia, admite consultas rápidas de filtrado y agregación, y gestiona tanto el almacenamiento como el procesamiento de datos de series temporales.
Conceptos clave
TairTS organiza los datos en una jerarquía de tres niveles:
Pkey: contenedor con nombre para un conjunto de líneas temporales relacionadas (skeys). Cada pkey puede albergar varios skeys.
Skey: línea temporal individual dentro de un pkey. Un skey se compone de varios chunks de capacidad fija y puede tener una o más etiquetas asociadas para facilitar el filtrado.
-
Chunk: unidad de almacenamiento de datos dentro de un skey. Cada chunk almacena varios puntos de datos.
La capacidad predeterminada del chunk es 256. Sin compresión, un chunk almacena hasta 256 puntos de datos. Con la compresión habilitada, un chunk almacena más de 256 puntos de datos, según la tasa de compresión.
Los chunks son la unidad mínima de expiración. Un chunk se elimina cuando todos sus puntos de datos caducan.
Punto de dato: medición individual de una serie temporal, compuesta por una marca de tiempo Unix (en milisegundos) y un valor de tipo DOUBLE.
La estructura multinivel (pkey → skey → chunk → punto de dato) permite agrupar líneas temporales relacionadas y ejecutar consultas de agregación en varios skeys con un solo comando, sin necesidad de integrar la lógica de agregación en el código de su aplicación.
Además de las consultas de agregación multilínea temporal, TairTS ofrece las siguientes funciones:
Actualización y acumulación de datos históricos de series temporales.
Configuración de TTL a nivel de línea temporal, lo que garantiza que cada línea temporal se desplace automáticamente según una ventana de tiempo.
Algoritmo de compresión Gorilla eficiente, con optimizaciones específicas de almacenamiento para reducir significativamente los costos.
Casos de uso
Almacenamiento y procesamiento de datos monitoreados
Monitoreo por segundo para la gestión del rendimiento de aplicaciones (APM)
Análisis y procesamiento de datos para IoT (Internet de las cosas)
Análisis de datos en ventanas de tiempo
Almacenamiento en caché de fuentes de noticias populares
Control de riesgos en escenarios de limitación de tráfico
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia DRAM-based instance de Tair
Si la instancia es compatible con Redis 5.0: versión menor 1.7.20 o posterior
Actualice la instancia a la versión menor más reciente para obtener la mejor compatibilidad con funciones y mayor estabilidad. En instancias de clúster y de división de lectura/escritura, actualice también los nodos proxy a la versión menor más reciente para que todos los comandos se ejecuten correctamente. Para obtener más información, consulte Actualizar la versión menor de una instancia.
Notas de uso
Los datos de TairTS se almacenan en la instancia de Tair.
TairTS admite escrituras y consultas en tiempo real con alta concurrencia, pero tiene una capacidad de almacenamiento limitada. Establezca un TTL para los datos de TairTS y así garantizar que los datos caducados se eliminen oportunamente.
Cambio disruptivo en la versión 24.7.0.0 El 22 de julio de 2024, las instancias de Tair basadas en DRAM compatibles con Redis 6.0 se actualizaron a la versión 24.7.0.0. Esta versión introduce el parámetro ts-auto-del-empty-skey-enable, cuyo valor predeterminado es yes. Cuando se establece en yes, un skey se elimina automáticamente cuando todos sus puntos de datos caducan. En versiones anteriores a la 24.7.0.0, los skeys caducados no se eliminan de forma predeterminada. Antes de usar TairTS en una instancia compatible con Redis 6.0, actualice a la versión 24.7.0.0 o posterior y confirme y ajuste manualmente la configuración del parámetro ts-auto-del-empty-skey-enable para evitar comportamientos inesperados en su aplicación.
Mejores prácticas
Configure CHUNK_SIZE según el volumen de datos
Para optimizar el uso de memoria y el rendimiento de lectura/escritura, ajuste CHUNK_SIZE de acuerdo con el número promedio de puntos de datos por skey:
|
Promedio de puntos de datos por skey |
CHUNK_SIZE recomendado |
Razón |
|
Más de 5,000 |
256 (predeterminado) |
Chunks más grandes reducen la cantidad de chunks y la sobrecarga de metadatos |
|
Menos de 5,000 |
Promedio / 20 (por ejemplo, 50 para 1,000 puntos) |
Chunks más pequeños reducen el costo de descompresión en consultas de rango pequeño |
Establecer un CHUNK_SIZE pequeño con altos volúmenes de escritura provoca la creación de muchos chunks, lo cual puede degradar el rendimiento.
Establezca siempre un TTL para los skeys
TairTS tiene una capacidad de almacenamiento limitada. Especifique DATA_ET al crear skeys o agregar puntos de datos para que los datos caducados se limpien automáticamente.
Lista de comandos
| Tipo | Comando | Sintaxis | Descripción |
|---|---|---|---|
| Operaciones básicas de escritura | EXTS.P.CREATE | EXTS.P.CREATE Pkey |
Crea un pkey de TairTS. Falla si ya existe un pkey con el mismo nombre. |
| EXTS.S.CREATE | EXTS.S.CREATE Pkey Skey [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 label2 val2 ...] |
Crea un skey dentro de un pkey. Crea automáticamente el pkey si no existe. Falla si ya existe un skey con el mismo nombre. | |
| EXTS.S.ALTER | EXTS.S.ALTER Pkey Skey [DATA_ET time] |
Modifica los metadatos de un skey. Solo se puede modificar DATA_ET. |
|
| EXTS.S.ADD | EXTS.S.ADD Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Inserta un punto de dato en un skey. Crea automáticamente el pkey o el skey si no existen. Los parámetros del skey solo surten efecto cuando este se crea automáticamente. | |
| EXTS.S.MADD | EXTS.S.MADD Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Inserta un punto de dato en varios skeys de un pkey en una sola llamada. Crea automáticamente el pkey o los skeys si no existen. | |
| EXTS.S.INCRBY | EXTS.S.INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Inserta un punto de dato sumando (o restando) al valor del último punto de dato en el skey. El valor inicial predeterminado es 0. Crea automáticamente el pkey o el skey si no existen. | |
| EXTS.S.MINCRBY | EXTS.S.MINCRBY Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Inserta puntos de dato en varios skeys incrementando o decrementando sus últimos valores. Crea automáticamente el pkey o los skeys si no existen. | |
| EXTS.S.DEL | EXTS.S.DEL Pkey Skey |
Elimina un skey y todos sus puntos de dato de un pkey. | |
| Operaciones básicas de lectura | EXTS.S.GET | EXTS.S.GET Pkey Skey |
Devuelve el punto de dato más reciente en un skey. |
| EXTS.S.INFO | EXTS.S.INFO Pkey Skey |
Devuelve los metadatos de un skey: recuento de puntos de dato, marca de tiempo y valor más recientes, e información de etiquetas. | |
| EXTS.S.QUERYINDEX | EXTS.S.QUERYINDEX Pkey filter1 [filter2 ...] |
Devuelve los skeys de un pkey que coinciden con los filtros de etiquetas especificados. | |
| Operaciones de agregación | EXTS.S.RANGE | EXTS.S.RANGE Pkey Skey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] |
Devuelve los puntos de dato de un skey dentro de un intervalo de tiempo cerrado, con agregación opcional. |
| EXTS.S.MRANGE | EXTS.S.MRANGE Pkey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] [WITHLABELS] FILTER filter1 [filter2 ...] |
Devuelve puntos de dato de varios skeys que coinciden con los filtros de etiquetas, dentro de un intervalo de tiempo cerrado. | |
| EXTS.P.RANGE | EXTS.P.RANGE Pkey fromTs toTs pkeyAggregationType pkeyTimeBucket [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] FILTER filter1 [filter2 ...] |
Agrega puntos de dato entre los skeys de un pkey. Primero se agregan los skeys (como en EXTS.S.MRANGE) y luego los resultados se agregan a nivel de pkey. | |
| Operaciones de escritura concurrente | EXTS.S.RAW_MODIFY | EXTS.S.RAW_MODIFY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Establece el valor de un punto de dato en una marca de tiempo específica. Crea automáticamente el pkey o el skey si no existen. |
| 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 ...] |
Establece los valores de varios puntos de dato en marcas de tiempo específicas en una sola llamada. Crea automáticamente el pkey o los skeys si no existen. | |
| EXTS.S.RAW_INCRBY | EXTS.S.RAW_INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Modifica un punto de dato en una marca de tiempo específica sumando o restando un valor. Crea automáticamente el pkey o el skey si no existen. El valor inicial predeterminado es 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 ...] |
Modifica varios puntos de dato en marcas de tiempo específicas en una sola llamada. Crea automáticamente el pkey o los skeys si no existen. | |
| Operaciones de propósito general | DEL | DEL key [key ...] |
Elimina una o más claves de TairTS. |
Convenciones de sintaxis de comandos:
UPPERCASE KEYWORD : palabra clave del comando
_Italic text_ : variable
[options] : parámetro opcional
A|B : opciones mutuamente excluyentes
... : el parámetro anterior se puede repetir
EXTS.P.CREATE
Time complexity|
Elemento |
Descripción |
|
Syntax |
|
|
O(1) |
|
|
Descripción |
Crea un pkey de TairTS. Falla si ya existe un pkey con el mismo nombre. |
|
Parameters |
|
|
Returns |
|
Ejemplo:
EXTS.P.CREATE foo
Salida:
OK
EXTS.S.CREATE
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(1) |
|
Descripción |
Crea un skey en el pkey especificado. Crea automáticamente el pkey si no existe. Falla si ya existe un skey con el mismo nombre. |
|
Parameters |
Consulte a continuación |
|
Returns |
|
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre del pkey |
|
|
Nombre del skey |
|
|
Tiempo de expiración relativo de los puntos de dato, en milisegundos. De forma predeterminada no hay expiración. |
|
|
Tamaño de un chunk individual, en unidades de 16 bytes. Valores válidos: 1–256. Predeterminado: 256 (4 KB por chunk). Cuando un chunk alcanza su capacidad, se crea uno nuevo. Consulte Mejores prácticas para obtener orientación sobre ajustes. |
|
|
Deshabilita la compresión para el skey. De forma predeterminada, la compresión está habilitada. |
|
|
Uno o más pares etiqueta-valor asociados al skey. Ejemplo: |
Ejemplo:
EXTS.S.CREATE foo temperature DATA_ET 10000000 LABELS sensor_id 1
Salida:
OK
EXTS.S.ALTER
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(1) |
|
Descripción |
Modifica los metadatos de un skey. Solo se puede cambiar |
|
Parameters |
Consulte a continuación |
|
Returns |
|
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre del pkey |
|
|
Nombre del skey |
|
|
Nuevo tiempo de expiración relativo de los puntos de dato, en milisegundos. De forma predeterminada no hay expiración. |
Ejemplo:
EXTS.S.ALTER foo temperature DATA_ET 100000
Salida:
OK
EXTS.S.ADD
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(1) |
|
Descripción |
Inserta un punto de dato en un skey. Crea automáticamente el pkey o el skey si no existen. Los parámetros del skey ( |
|
Parameters |
Consulte a continuación |
|
Returns |
|
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre del pkey |
|
|
Nombre del skey |
|
|
Marca de tiempo Unix del punto de dato, en milisegundos. Use |
|
|
Valor del punto de dato. Debe ser un número de punto flotante de doble precisión. |
|
|
Tiempo de expiración relativo de los puntos de dato, en milisegundos. De forma predeterminada no hay expiración. |
|
|
Tamaño del chunk, en unidades de 16 bytes. Valores válidos: 1–256. Predeterminado: 256. Consulte EXTS.S.CREATE. |
|
|
Deshabilita la compresión para el skey. De forma predeterminada, la compresión está habilitada. |
|
|
Uno o más pares etiqueta-valor. Ejemplo: |
Ejemplo:
EXTS.S.ADD foo temperature * 30.5 DATA_ET 1000000 LABELS sensor_id 1
Salida:
OK
EXTS.S.MADD
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(n), donde n es el número de skeys |
|
Descripción |
Inserta un punto de dato en varios skeys de un pkey en una sola llamada. Crea automáticamente el pkey o los skeys si no existen. Los parámetros del skey solo surten efecto cuando este se crea automáticamente. |
|
Parameters |
Consulte a continuación |
|
Returns |
|
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre del pkey |
|
|
Número de registros skey-ts-value que se van a insertar |
|
|
Nombre del skey |
|
|
Marca de tiempo Unix, en milisegundos. Use |
|
|
Valor del punto de dato. Debe ser un número de punto flotante de doble precisión. |
|
|
Tiempo de expiración relativo, en milisegundos. De forma predeterminada no hay expiración. |
|
|
Tamaño del chunk, en unidades de 16 bytes. Valores válidos: 1–256. Predeterminado: 256. |
|
|
Deshabilita la compresión. Habilitada de forma predeterminada. |
|
|
Uno o más pares etiqueta-valor. |
Ejemplo:
EXTS.S.MADD foo 3 temperature * 30.2 pressure * 2.05 distance * 0.5
Salida:
1) OK
2) OK
3) OK
EXTS.S.INCRBY
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(1) |
|
Descripción |
Inserta un punto de dato cuyo valor es igual al valor del último punto de dato más |
|
Parameters |
Consulte a continuación |
|
Returns |
|
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre del pkey |
|
|
Nombre del skey |
|
|
Marca de tiempo Unix, en milisegundos. Use |
|
|
Incremento (o decremento si es negativo) que se aplicará al valor del último punto de dato. Debe ser un número de punto flotante de doble precisión. |
|
|
Tiempo de expiración relativo, en milisegundos. De forma predeterminada no hay expiración. |
|
|
Tamaño del chunk, en unidades de 16 bytes. Valores válidos: 1–256. Predeterminado: 256. |
|
|
Deshabilita la compresión. Habilitada de forma predeterminada. |
|
|
Uno o más pares etiqueta-valor. |
Ejemplo:
Primero, agregue un punto de dato inicial:
EXTS.S.ADD foo temperature 1644310456023 30.0
Luego increméntelo:
EXTS.S.INCRBY foo temperature 1644372093031 2
Salida:
OK
Compruebe el resultado:
EXTS.S.GET foo temperature
Salida:
1) (integer) 1644372093031
2) "32"
EXTS.S.MINCRBY
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(n), donde n es el número de skeys |
|
Descripción |
Inserta puntos de dato en varios skeys incrementando (o decrementando) el último valor de cada skey. Crea automáticamente el pkey o los skeys si no existen. El valor inicial predeterminado es 0. |
|
Parameters |
Consulte a continuación |
|
Returns |
|
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre del pkey |
|
|
Número de skeys |
|
|
Nombre del skey |
|
|
Marca de tiempo Unix, en milisegundos. Use |
|
|
Incremento (o decremento si es negativo). Debe ser un número de punto flotante de doble precisión. |
|
|
Tiempo de expiración relativo, en milisegundos. De forma predeterminada no hay expiración. |
|
|
Tamaño del chunk, en unidades de 16 bytes. Valores válidos: 1–256. Predeterminado: 256. |
|
|
Deshabilita la compresión. Habilitada de forma predeterminada. |
|
|
Uno o más pares etiqueta-valor. |
Ejemplo:
EXTS.S.MINCRBY foo 3 temperature * 0.2 pressure * -0.1 distance * 0.0
Salida:
1) OK
2) OK
3) OK
EXTS.S.DEL
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(1) |
|
Descripción |
Elimina un skey y todos sus puntos de dato de un pkey. |
|
Parameters |
|
|
Returns |
|
Ejemplo:
EXTS.S.DEL foo temperature
Salida:
OK
EXTS.S.GET
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(1) |
|
Descripción |
Devuelve el punto de dato más reciente en un skey. |
|
Parameters |
|
|
Returns |
El punto de dato más reciente (marca de tiempo y valor) si la operación es exitosa; |
Ejemplo:
EXTS.S.GET foo temperature
Salida:
1) (integer) 1644372730150
2) "32.2"
EXTS.S.INFO
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(1) |
|
Descripción |
Devuelve los metadatos de un skey, incluido el recuento de puntos de dato, la marca de tiempo y el valor más recientes, y la información de etiquetas. |
|
Parameters |
|
|
Returns |
Metadatos del skey si la operación es exitosa; |
Ejemplo:
EXTS.S.INFO foo temperature
Salida:
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
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(n), donde n es el número máximo de conjuntos involucrados en las condiciones de filtro |
|
Descripción |
Devuelve los skeys de un pkey que coinciden con los filtros de etiquetas especificados. |
|
Parameters |
Consulte a continuación |
|
Returns |
Nombres de los skeys coincidentes si la operación es exitosa; |
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre del pkey |
|
|
Condiciones de filtro de etiquetas. Se requiere como mínimo una condición EQ, CONTAINS o LIST_MATCH. Consulte Index filtering syntax. |
Ejemplo:
EXTS.S.QUERYINDEX foo sensor_id=1
Salida:
1) "temperature"
EXTS.S.RANGE
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(n), donde n es el número de chunks que contienen los puntos de dato consultados |
|
Descripción |
Devuelve los puntos de dato de un skey dentro de un intervalo de tiempo cerrado |
|
Parameters |
Consulte a continuación |
|
Returns |
Puntos de dato (o resultados de agregación) más un token de continuación; |
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre del pkey |
|
|
Nombre del skey |
|
|
Inicio del intervalo de tiempo, como marca de tiempo Unix en milisegundos |
|
|
Fin del intervalo de tiempo, como marca de tiempo Unix en milisegundos. Use |
|
|
Número máximo de puntos de dato que se devolverán. Sin límite predeterminado. Límite superior: 1,000,000. |
|
|
Tipo de agregación (por ejemplo, |
La respuesta incluye un token de continuidad como último elemento:
0: se devolvieron todos los puntos de dato coincidentes1: algunos puntos de dato no están incluidos. Use la marca de tiempo del último punto de dato devuelto como el siguientefromTspara recuperar los datos restantes.
Ejemplo:
EXTS.S.RANGE foo test 1644459031662 * AGGREGATION AVG 10000 MAXCOUNT 2
Esto devuelve el valor promedio por bucket de 10 segundos, limitado a 2 resultados.
Salida:
1) 1) 1) (integer) 1644459730000
2) "20.6"
2) 1) (integer) 1644459790000
2) "21.2"
2) (integer) 1
El token 1 indica que existen más puntos de dato además de estos 2 resultados.
EXTS.S.MRANGE
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(n), donde n es el número de chunks que contienen los puntos de dato consultados |
|
Descripción |
Devuelve puntos de dato de varios skeys que coinciden con los filtros de etiquetas, dentro de un intervalo de tiempo cerrado |
|
Parameters |
Consulte a continuación |
|
Returns |
Skeys coincidentes con sus puntos de dato si la operación es exitosa; |
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre del pkey |
|
|
Inicio del intervalo de tiempo, como marca de tiempo Unix en milisegundos |
|
|
Fin del intervalo de tiempo, como marca de tiempo Unix en milisegundos. Use |
|
|
Número máximo de puntos de dato que se devolverán por skey. Límite superior: 1,000,000. |
|
|
Tipo de agregación y tamaño del bucket de tiempo en milisegundos (mínimo: 1,000). Los resultados se devuelven al inicio de cada bucket. |
|
|
Incluye la información de etiquetas en la salida. Se omite de forma predeterminada. |
|
|
Condiciones de filtro de etiquetas. Se requiere como mínimo una condición EQ, CONTAINS o LIST_MATCH. Consulte Index filtering syntax. |
Ejemplo:
EXTS.S.MRANGE foo 1644451031662 * AGGREGATION MAX 10000 WITHLABELS FILTER sensor_id=1
Salida:
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
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(n), donde n es el número de chunks que contienen los puntos de datos consultados |
|
Descripción |
Agrega datos entre skeys dentro de una pkey. Primero se agregan las skeys que coinciden con el filtro (como en EXTS.S.MRANGE) y luego se agregan los resultados de las skeys a nivel de pkey. |
|
Parameters |
Consulte a continuación |
|
Returns |
Resultados de la agregación a nivel de pkey si la operación es exitosa; |
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre de la pkey |
|
|
Inicio del intervalo de tiempo, como marca de tiempo Unix en milisegundos |
|
|
Fin del intervalo de tiempo, como marca de tiempo Unix en milisegundos. Use |
|
|
Tipo de agregación para la agregación a nivel de pkey. Consulte Aggregation syntax. |
|
|
Tamaño del bucket de tiempo para la agregación a nivel de pkey, en milisegundos. Mínimo: 1,000. |
|
|
Número máximo de puntos de datos que se devolverán por skey. Límite superior: 1,000,000. |
|
|
Tipo de agregación y bucket de tiempo para la agregación a nivel de skey, en milisegundos. Mínimo: 1,000. |
|
|
Condiciones de filtro de etiquetas. Se requiere como mínimo una condición EQ, CONTAINS o LIST_MATCH. Consulte Index filtering syntax. |
Ejemplo:
EXTS.P.RANGE foo 1644451031662 * SUM 500000 AGGREGATION SUM 10000 FILTER sensor_id=1
Salida:
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
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(1) |
|
Descripción |
Establece el valor de un punto de datos en una marca de tiempo específica dentro de una skey. Crea automáticamente la pkey o skey si no existen. Los parámetros de la skey solo surten efecto cuando la skey se crea automáticamente. |
|
Parameters |
Consulte a continuación |
|
Returns |
|
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre de la pkey |
|
|
Nombre de la skey |
|
|
Marca de tiempo Unix del punto de datos que se actualizará, en milisegundos |
|
|
Nuevo valor del punto de datos. Debe ser un número de punto flotante de doble precisión. |
|
|
Tiempo de caducidad relativo, en milisegundos. El valor predeterminado es sin caducidad. |
|
|
Tamaño del chunk, en unidades de 16 bytes. Valores válidos: 1–256. Valor predeterminado: 256. |
|
|
Deshabilita la compresión. Habilitada de forma predeterminada. |
|
|
Uno o más pares etiqueta-valor. |
Ejemplo:
EXTS.S.RAW_MODIFY foo temperature 1644310456023 31.5
Salida:
OK
EXTS.S.RAW_MMODIFY
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(n), donde n es el número de skeys |
|
Descripción |
Establece los valores de varios puntos de datos en marcas de tiempo específicas en una sola llamada. Crea automáticamente la pkey o las skeys si no existen. |
|
Parameters |
Consulte a continuación |
|
Returns |
|
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre de la pkey |
|
|
Número de registros skey-ts-value que se actualizarán |
|
|
Nombre de la skey |
|
|
Marca de tiempo Unix del punto de datos que se actualizará, en milisegundos |
|
|
Nuevo valor del punto de datos. Debe ser un número de punto flotante de doble precisión. |
|
|
Tiempo de caducidad relativo, en milisegundos. El valor predeterminado es sin caducidad. |
|
|
Tamaño del chunk, en unidades de 16 bytes. Valores válidos: 1–256. Valor predeterminado: 256. |
|
|
Deshabilita la compresión. Habilitada de forma predeterminada. |
|
|
Uno o más pares etiqueta-valor. |
Ejemplo:
EXTS.S.RAW_MMODIFY foo 3 temperature 1644565954814 30.2 pressure 1644565954814 2.05 distance 1644565954814 0.5
Salida:
1) OK
2) OK
3) OK
EXTS.S.RAW_INCRBY
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(1) |
|
Descripción |
Modifica un punto de datos en una marca de tiempo específica mediante la suma o resta de un valor. Crea automáticamente la pkey o skey si no existen. El valor inicial predeterminado es 0. |
|
Parameters |
Consulte a continuación |
|
Returns |
|
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre de la pkey |
|
|
Nombre de la skey |
|
|
Marca de tiempo Unix del punto de datos que se actualizará, en milisegundos |
|
|
Incremento (o decremento si es negativo). Debe ser un número de punto flotante de doble precisión. |
|
|
Tiempo de caducidad relativo, en milisegundos. El valor predeterminado es sin caducidad. |
|
|
Tamaño del chunk, en unidades de 16 bytes. Valores válidos: 1–256. Valor predeterminado: 256. |
|
|
Deshabilita la compresión. Habilitada de forma predeterminada. |
|
|
Uno o más pares etiqueta-valor. |
Ejemplo:
Primero, agregue un punto de datos inicial:
EXTS.S.ADD foo temperature 1644310456 30.0
Luego aplique un incremento a la misma marca de tiempo:
EXTS.S.RAW_INCRBY foo temperature 1644310456 3.3
Salida:
OK
Compruebe el resultado:
EXTS.S.GET foo temperature
Salida:
1) (integer) 1644310456
2) "33.3"
EXTS.S.RAW_MINCRBY
|
Elemento |
Descripción |
|
Syntax |
|
|
Time complexity |
O(n), donde n es el número de puntos de datos |
|
Descripción |
Modifica varios puntos de datos en marcas de tiempo específicas en una sola llamada. Crea automáticamente la pkey o las skeys si no existen. |
|
Parameters |
Consulte a continuación |
|
Returns |
|
Parámetros:
|
Parámetro |
Descripción |
|
|
Nombre de la pkey |
|
|
Número de registros skey-ts-value que se actualizarán |
|
|
Nombre de la skey |
|
|
Marca de tiempo Unix del punto de datos que se actualizará, en milisegundos |
|
|
Incremento (o decremento si es negativo). Debe ser un número de punto flotante de doble precisión. |
|
|
Tiempo de caducidad relativo, en milisegundos. El valor predeterminado es sin caducidad. |
|
|
Tamaño del chunk, en unidades de 16 bytes. Valores válidos: 1–256. Valor predeterminado: 256. |
|
|
Deshabilita la compresión. Habilitada de forma predeterminada. |
|
|
Uno o más pares etiqueta-valor. |
Ejemplo:
EXTS.S.RAW_MINCRBY foo 3 temperature 1644565954814 30.2 pressure 1644565954814 2.05 distance 1644565954814 0.5
Salida:
1) OK
2) OK
3) OK
Sintaxis de filtrado de índices
Utilice filtros de etiquetas para seleccionar skeys en EXTS.S.QUERYINDEX, EXTS.S.MRANGE y EXTS.P.RANGE. Se requiere como mínimo una condición EQ, CONTAINS o LIST_MATCH.
|
Expresión de filtro |
Lógica |
Descripción |
|
|
EQ |
La etiqueta |
|
|
CONTAINS |
La etiqueta |
|
|
LIST_MATCH |
La etiqueta |
|
|
NOEQ |
La etiqueta |
|
|
NOCONTAINS |
La etiqueta |
|
|
LIST_NOTMATCH |
La etiqueta |
Sintaxis de agregación
La agregación agrupa los puntos de datos dentro de cada bucket de tiempo definido por timeBucket y calcula un único valor por bucket. Se admiten los siguientes tipos de agregación:
|
Tipo |
Devuelve |
|
|
Valor máximo |
|
|
Valor mínimo |
|
|
Valor promedio |
|
|
Suma de todos los valores |
|
|
Primer valor en el bucket |
|
|
Último valor en el bucket |
|
|
Diferencia entre los valores máximo y mínimo |
|
|
Cantidad de valores |
|
|
Varianza poblacional |
|
|
Varianza muestral |
|
|
Desviación estándar poblacional |
|
|
Desviación estándar muestral |
Preguntas frecuentes
¿Por qué el CHUNK_SIZE predeterminado es pequeño en algunas instancias Tair basadas en DRAM compatibles con Redis 5.0?
A partir de la versión 25.2.0.0, el valor predeterminado de CHUNK_SIZE es 256. En versiones anteriores, el valor predeterminado es 32.