Todos os produtos
Search
Central de documentação

Tair (Redis® OSS-Compatible):TS

Última atualização: Jun 26, 2026

O TairTS é uma estrutura de dados de séries temporais implementada como módulo Redis. Oferece acesso de leitura e gravação em memória com baixa latência e alta concorrência, suporta filtragem rápida e consultas agregadas, além de gerenciar o armazenamento e a computação de dados de séries temporais.

Conceitos principais

O TairTS organiza os dados em uma hierarquia de três níveis:

  • Pkey: contêiner nomeado para um conjunto de linhas do tempo relacionadas (skeys). Cada pkey pode armazenar várias skeys.

  • Skey: linha do tempo única dentro de um pkey. Uma skey consiste em múltiplos chunks de capacidade fixa e pode ter um ou mais rótulos associados para filtragem.

  • Chunk: unidade de armazenamento de dados dentro de uma skey. Cada chunk armazena vários pontos de dados.

    • A capacidade padrão do chunk é 256. Sem compressão, um chunk armazena até 256 pontos de dados. Com a compressão ativada, armazena mais de 256 pontos, dependendo da taxa de compressão.

    • Os chunks são a menor unidade de expiração. O sistema exclui um chunk quando todos os seus pontos de dados expiram.

  • Ponto de dados: medição única de série temporal, composta por um timestamp Unix (milissegundos) e um valor do tipo DOUBLE.

A estrutura multinível (pkey → skey → chunk → ponto de dados) permite agrupar linhas do tempo relacionadas e executar consultas agregadas em várias skeys com um único comando, sem incorporar lógica de agregação no código da aplicação.

Além das consultas agregadas de múltiplas linhas do tempo, o TairTS oferece os seguintes recursos:

  • Atualização e acumulação de dados históricos de séries temporais.

  • Definição de TTL no nível da linha do tempo, garantindo rolagem automática conforme a janela de tempo definida.

  • Algoritmo de compressão Gorilla eficiente, com otimizações específicas de armazenamento para reduzir custos significativamente.

Casos de uso

  • Armazenamento e computação de dados monitorados

  • Monitoramento por segundo para gerenciamento de desempenho de aplicações (APM)

  • Análise e processamento de dados para IoT (Internet das Coisas)

  • Análise de dados em janelas de tempo

  • Cache de feeds de notícias populares

  • Controle de risco em cenários de limitação de taxa

Pré-requisitos

Antes de começar, verifique se você tem:

Atualize a instância para a versão secundária mais recente para obter melhor suporte a recursos e estabilidade. Em instâncias cluster e de divisão de leitura/gravação, atualize também os nós proxy para a versão secundária mais recente, garantindo a execução correta de todos os comandos. Para mais informações, consulte Atualizar a versão secundária de uma instância.

Notas de uso

  • Os dados do TairTS residem na instância Tair.

  • O TairTS suporta gravações e consultas em tempo real com alta concorrência, mas possui capacidade de armazenamento limitada. Defina um TTL para os dados do TairTS a fim de garantir a exclusão imediata de dados expirados.

Importante

Alteração disruptiva na versão 24.7.0.0: em 22 de julho de 2024, as instâncias Tair baseadas em DRAM compatíveis com Redis 6.0 foram atualizadas para a versão 24.7.0.0. Esta versão introduz o parâmetro ts-auto-del-empty-skey-enable, cujo valor padrão é yes. Quando definido como yes, o sistema exclui automaticamente uma skey quando todos os seus pontos de dados expiram. Nas versões anteriores à 24.7.0.0, skeys expiradas não são excluídas por padrão. Antes de usar o TairTS em uma instância compatível com Redis 6.0, atualize para a versão 24.7.0.0 ou posterior e confirme e ajuste manualmente as configurações do parâmetro ts-auto-del-empty-skey-enable para evitar comportamentos inesperados na aplicação.

Melhores práticas

Defina CHUNK_SIZE com base no volume de dados

Para otimizar o uso de memória e o desempenho de leitura/gravação, ajuste CHUNK_SIZE de acordo com o número médio de pontos de dados por skey:

Média de pontos de dados por skey

CHUNK_SIZE recomendado

Motivo

Mais de 5.000

256 (padrão)

Chunks maiores reduzem a quantidade de chunks e a sobrecarga de metadados

Menos de 5.000

Média / 20 (ex.: 50 para 1.000 pontos)

Chunks menores reduzem o custo de descompressão para consultas de pequeno intervalo

Definir um CHUNK_SIZE pequeno com altos volumes de gravação causa a criação de muitos chunks, o que pode degradar o desempenho.

Sempre defina um TTL para skeys

O TairTS tem capacidade de armazenamento limitada. Especifique DATA_ET ao criar skeys ou adicionar pontos de dados para limpar dados expirados automaticamente.

Lista de comandos

Tipo Comando Sintaxe Descrição
Operações básicas de gravação EXTS.P.CREATE EXTS.P.CREATE Pkey Crie um pkey do TairTS. Falha se já existir um pkey com o mesmo nome.
EXTS.S.CREATE EXTS.S.CREATE Pkey Skey [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 label2 val2 ...] Crie uma skey em um pkey. Crie o pkey automaticamente se ele não existir. Falha se já existir uma skey com o mesmo nome.
EXTS.S.ALTER EXTS.S.ALTER Pkey Skey [DATA_ET time] Modifica os metadados de uma skey. Apenas DATA_ET pode ser modificado.
EXTS.S.ADD EXTS.S.ADD Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Insere um ponto de dados em uma skey. Crie o pkey ou a skey automaticamente se não existirem. Os parâmetros da skey só têm efeito quando ela é criada automaticamente.
EXTS.S.MADD EXTS.S.MADD Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Insere um ponto de dados em múltiplas skeys de um pkey em uma única chamada. Crie o pkey ou as skeys automaticamente se não existirem.
EXTS.S.INCRBY EXTS.S.INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Insere um ponto de dados somando (ou subtraindo) ao valor do último ponto de dados na skey. O valor inicial padrão é 0. Crie o pkey ou a skey automaticamente se não existirem.
EXTS.S.MINCRBY EXTS.S.MINCRBY Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Insere pontos de dados em múltiplas skeys incrementando ou decrementando seus últimos valores. Crie o pkey ou as skeys automaticamente se não existirem.
EXTS.S.DEL EXTS.S.DEL Pkey Skey Exclui uma skey e todos os seus pontos de dados de um pkey.
Operações básicas de leitura EXTS.S.GET EXTS.S.GET Pkey Skey Retorna o ponto de dados mais recente em uma skey.
EXTS.S.INFO EXTS.S.INFO Pkey Skey Retorna os metadados de uma skey: contagem de pontos de dados, timestamp e valor mais recentes e informações de rótulo.
EXTS.S.QUERYINDEX EXTS.S.QUERYINDEX Pkey filter1 [filter2 ...] Retorna skeys em um pkey que correspondem aos filtros de rótulo especificados.
Operações de agregação EXTS.S.RANGE EXTS.S.RANGE Pkey Skey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] Retorna pontos de dados em uma skey dentro de um intervalo de tempo fechado, com agregação opcional.
EXTS.S.MRANGE EXTS.S.MRANGE Pkey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] [WITHLABELS] FILTER filter1 [filter2 ...] Retorna pontos de dados de múltiplas skeys que correspondem aos filtros de rótulo, dentro de um intervalo de tempo fechado.
EXTS.P.RANGE EXTS.P.RANGE Pkey fromTs toTs pkeyAggregationType pkeyTimeBucket [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] FILTER filter1 [filter2 ...] Agraga pontos de dados entre skeys em um pkey. As skeys são primeiro agregadas (como em EXTS.S.MRANGE) e, em seguida, os resultados são agregados no nível do pkey.
Operações de gravação concorrente EXTS.S.RAW_MODIFY EXTS.S.RAW_MODIFY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Defina o valor de um ponto de dados em um timestamp específico. Crie o pkey ou a skey automaticamente se não existirem.
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 ...] Defina os valores de múltiplos pontos de dados em timestamps específicos em uma única chamada. Crie o pkey ou as skeys automaticamente se não existirem.
EXTS.S.RAW_INCRBY EXTS.S.RAW_INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] Modifica um ponto de dados em um timestamp específico somando ou subtraindo um valor. Crie o pkey ou a skey automaticamente se não existirem. O valor inicial padrão é 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 múltiplos pontos de dados em timestamps específicos em uma única chamada. Crie o pkey ou as skeys automaticamente se não existirem.
Operações de uso geral DEL DEL key [key ...] Exclui uma ou mais chaves do TairTS.
Convenções de sintaxe de comandos:
UPPERCASE KEYWORD : palavra-chave do comando
_Italic text_ : variável
[options] : parâmetro opcional
A|B : opções mutuamente exclusivas
... : o parâmetro anterior pode ser repetido

EXTS.P.CREATE

Time complexity

Item

Descrição

Syntax

EXTS.P.CREATE Pkey

O(1)

Descrição

Crie um pkey do TairTS. Falha se já existir um pkey com o mesmo nome.

Parameters

Pkey: o nome do pkey

Returns

OK em caso de sucesso; mensagem de erro caso contrário

Exemplo:

EXTS.P.CREATE foo

Saída:

OK

EXTS.S.CREATE

Item

Descrição

Syntax

EXTS.S.CREATE Pkey Skey [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 label2 val2 ...]

Time complexity

O(1)

Descrição

Crie uma skey no pkey especificado. Crie o pkey automaticamente se ele não existir. Falha se já existir uma skey com o mesmo nome.

Parameters

Veja abaixo

Returns

OK em caso de sucesso; mensagem de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

Skey

Nome da skey

DATA_ET time

Tempo de expiração relativo dos pontos de dados, em milissegundos. Padrão: sem expiração.

CHUNK_SIZE size

Tamanho de um único chunk, em unidades de 16 bytes. Valores válidos: 1–256. Padrão: 256 (4 KB por chunk). Quando um chunk atinge a capacidade, o sistema cria um novo chunk. Consulte Melhores práticas para orientações de ajuste.

UNCOMPRESSED

Desativa a compressão para a skey. Por padrão, a compressão está ativada.

LABELS label val ...

Um ou mais pares rótulo-valor associados à skey. Exemplo: LABELS sensor_id 1.

Exemplo:

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

Saída:

OK

EXTS.S.ALTER

Item

Descrição

Syntax

EXTS.S.ALTER Pkey Skey [DATA_ET time]

Time complexity

O(1)

Descrição

Modifica os metadados de uma skey. Apenas DATA_ET pode ser alterado.

Parameters

Veja abaixo

Returns

OK em caso de sucesso; mensagem de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

Skey

Nome da skey

DATA_ET time

Novo tempo de expiração relativo dos pontos de dados, em milissegundos. Padrão: sem expiração.

Exemplo:

EXTS.S.ALTER foo temperature DATA_ET 100000

Saída:

OK

EXTS.S.ADD

Item

Descrição

Syntax

EXTS.S.ADD Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]

Time complexity

O(1)

Descrição

Insere um ponto de dados em uma skey. Crie o pkey ou a skey automaticamente se não existirem. Os parâmetros da skey (DATA_ET, CHUNK_SIZE, UNCOMPRESSED, LABELS) só têm efeito quando ela é criada automaticamente.

Parameters

Veja abaixo

Returns

OK em caso de sucesso; mensagem de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

Skey

Nome da skey

ts

Timestamp Unix do ponto de dados, em milissegundos. Use * para a hora atual do servidor.

value

Valor do ponto de dados. Deve ser um número de ponto flutuante de precisão dupla.

DATA_ET time

Tempo de expiração relativo dos pontos de dados, em milissegundos. Padrão: sem expiração.

CHUNK_SIZE size

Tamanho do chunk, em unidades de 16 bytes. Valores válidos: 1–256. Padrão: 256. Consulte EXTS.S.CREATE.

UNCOMPRESSED

Desativa a compressão para a skey. Por padrão, a compressão está ativada.

LABELS label val ...

Um ou mais pares rótulo-valor. Exemplo: LABELS sensor_id 1.

Exemplo:

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

Saída:

OK

EXTS.S.MADD

Item

Descrição

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), onde n é o número de skeys

Descrição

Insere um ponto de dados em múltiplas skeys de um pkey em uma única chamada. Crie o pkey ou as skeys automaticamente se não existirem. Os parâmetros da skey só têm efeito quando ela é criada automaticamente.

Parameters

Veja abaixo

Returns

OK para cada skey em caso de sucesso; mensagens de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

keynumber

Número de registros skey-ts-value a inserir

Skey

Nome da skey

ts

Timestamp Unix, em milissegundos. Use * para a hora atual do servidor.

value

Valor do ponto de dados. Deve ser um número de ponto flutuante de precisão dupla.

DATA_ET time

Tempo de expiração relativo, em milissegundos. Padrão: sem expiração.

CHUNK_SIZE size

Tamanho do chunk, em unidades de 16 bytes. Valores válidos: 1–256. Padrão: 256.

UNCOMPRESSED

Desativa a compressão. Ativada por padrão.

LABELS label val ...

Um ou mais pares rótulo-valor.

Exemplo:

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

Saída:

1) OK
2) OK
3) OK

EXTS.S.INCRBY

Item

Descrição

Syntax

EXTS.S.INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]

Time complexity

O(1)

Descrição

Insere um ponto de dados cujo valor corresponde ao valor do último ponto de dados mais value. Um value negativo subtrai do último valor. Crie o pkey ou a skey automaticamente se não existirem. O valor inicial padrão é 0.

Parameters

Veja abaixo

Returns

OK em caso de sucesso; mensagem de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

Skey

Nome da skey

ts

Timestamp Unix, em milissegundos. Use * para a hora atual do servidor.

value

Incremento (ou decremento, se negativo) a aplicar ao valor do último ponto de dados. Deve ser um número de ponto flutuante de precisão dupla.

DATA_ET time

Tempo de expiração relativo, em milissegundos. Padrão: sem expiração.

CHUNK_SIZE size

Tamanho do chunk, em unidades de 16 bytes. Valores válidos: 1–256. Padrão: 256.

UNCOMPRESSED

Desativa a compressão. Ativada por padrão.

LABELS label val ...

Um ou mais pares rótulo-valor.

Exemplo:

Primeiro, adicione um ponto de dados inicial:

EXTS.S.ADD foo temperature 1644310456023 30.0

Em seguida, incremente-o:

EXTS.S.INCRBY foo temperature 1644372093031 2

Saída:

OK

Verifique o resultado:

EXTS.S.GET foo temperature

Saída:

1) (integer) 1644372093031
2) "32"

EXTS.S.MINCRBY

Item

Descrição

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), onde n é o número de skeys

Descrição

Insere pontos de dados em múltiplas skeys incrementando (ou decrementando) o último valor de cada skey. Crie o pkey ou as skeys automaticamente se não existirem. O valor inicial padrão é 0.

Parameters

Veja abaixo

Returns

OK para cada skey em caso de sucesso; mensagens de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

keynumber

Número de skeys

Skey

Nome da skey

ts

Timestamp Unix, em milissegundos. Use * para a hora atual do servidor.

value

Incremento (ou decremento, se negativo). Deve ser um número de ponto flutuante de precisão dupla.

DATA_ET time

Tempo de expiração relativo, em milissegundos. Padrão: sem expiração.

CHUNK_SIZE size

Tamanho do chunk, em unidades de 16 bytes. Valores válidos: 1–256. Padrão: 256.

UNCOMPRESSED

Desativa a compressão. Ativada por padrão.

LABELS label val ...

Um ou mais pares rótulo-valor.

Exemplo:

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

Saída:

1) OK
2) OK
3) OK

EXTS.S.DEL

Item

Descrição

Syntax

EXTS.S.DEL Pkey Skey

Time complexity

O(1)

Descrição

Exclui uma skey e todos os seus pontos de dados de um pkey.

Parameters

Pkey: nome do pkey; Skey: nome da skey

Returns

OK em caso de sucesso; mensagem de erro caso contrário

Exemplo:

EXTS.S.DEL foo temperature

Saída:

OK

EXTS.S.GET

Item

Descrição

Syntax

EXTS.S.GET Pkey Skey

Time complexity

O(1)

Descrição

Retorna o ponto de dados mais recente em uma skey.

Parameters

Pkey: nome do pkey; Skey: nome da skey

Returns

Ponto de dados mais recente (timestamp e valor) em caso de sucesso; nil se o pkey ou a skey não existir; mensagem de erro caso contrário

Exemplo:

EXTS.S.GET foo temperature

Saída:

1) (integer) 1644372730150
2) "32.2"

EXTS.S.INFO

Item

Descrição

Syntax

EXTS.S.INFO Pkey Skey

Time complexity

O(1)

Descrição

Retorna os metadados de uma skey, incluindo contagem de pontos de dados, timestamp e valor mais recentes e informações de rótulo.

Parameters

Pkey: nome do pkey; Skey: nome da skey

Returns

Metadados da skey em caso de sucesso; nil se o pkey ou a skey não existir; mensagem de erro caso contrário

Exemplo:

EXTS.S.INFO foo temperature

Saída:

 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

Item

Descrição

Syntax

EXTS.S.QUERYINDEX Pkey filter1 [filter2 ...]

Time complexity

O(n), onde n é o número máximo de conjuntos envolvidos nas condições de filtro

Descrição

Retorna skeys em um pkey que correspondem aos filtros de rótulo especificados.

Parameters

Veja abaixo

Returns

Nomes das skeys correspondentes em caso de sucesso; nil se o pkey ou a skey não existir; mensagem de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

filter

Condições de filtro de rótulo. É necessária pelo menos uma condição EQ, CONTAINS ou LIST_MATCH. Consulte Sintaxe de filtragem de índice.

Exemplo:

EXTS.S.QUERYINDEX foo sensor_id=1

Saída:

1) "temperature"

EXTS.S.RANGE

Item

Descrição

Syntax

EXTS.S.RANGE Pkey Skey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket]

Time complexity

O(n), onde n é o número de chunks contendo os pontos de dados consultados

Descrição

Retorna pontos de dados em uma skey dentro de um intervalo de tempo fechado [fromTs, toTs], com agregação opcional.

Parameters

Veja abaixo

Returns

Pontos de dados (ou resultados de agregação) mais um token de continuação; nil se o pkey ou a skey não existir; mensagem de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

Skey

Nome da skey

fromTs

Início do intervalo de tempo, como timestamp Unix em milissegundos

toTs

Fim do intervalo de tempo, como timestamp Unix em milissegundos. Use * para a hora atual. Se toTs for igual a fromTs, a consulta retorna dados naquele único ponto no tempo.

MAXCOUNT count

Número máximo de pontos de dados a retornar. Sem limite padrão. Limite superior: 1.000.000.

AGGREGATION aggregationType timeBucket

Tipo de agregação (ex.: MAX, AVG, SUM) e tamanho do bucket de tempo em milissegundos (mínimo: 1.000). Os dados dentro de cada bucket são agregados e retornados como um único valor. O timestamp de cada resultado é o início do seu bucket. Consulte Sintaxe de agregação.

A resposta inclui um token de continuação como último elemento:

  • 0: todos os pontos de dados correspondentes foram retornados

  • 1: alguns pontos de dados não foram incluídos. Use o timestamp do último ponto de dados retornado como o próximo fromTs para recuperar os dados restantes.

Exemplo:

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

Isso retorna o valor médio por bucket de 10 segundos, limitado a 2 resultados.

Saída:

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

O token 1 indica que existem mais pontos de dados além desses 2 resultados.

EXTS.S.MRANGE

Item

Descrição

Syntax

EXTS.S.MRANGE Pkey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] [WITHLABELS] FILTER filter1 [filter2 ...]

Time complexity

O(n), onde n é o número de chunks contendo os pontos de dados consultados

Descrição

Retorna pontos de dados de múltiplas skeys que correspondem aos filtros de rótulo, dentro de um intervalo de tempo fechado [fromTs, toTs].

Parameters

Veja abaixo

Returns

Skeys correspondentes com seus pontos de dados em caso de sucesso; nil se o pkey ou a skey não existir; mensagem de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

fromTs

Início do intervalo de tempo, como timestamp Unix em milissegundos

toTs

Fim do intervalo de tempo, como timestamp Unix em milissegundos. Use * para a hora atual.

MAXCOUNT count

Número máximo de pontos de dados a retornar por skey. Limite superior: 1.000.000.

AGGREGATION aggregationType timeBucket

Tipo de agregação e tamanho do bucket de tempo em milissegundos (mínimo: 1.000). Os resultados são retornados no início de cada bucket.

WITHLABELS

Inclui informações de rótulo na saída. Omitido por padrão.

FILTER filter ...

Condições de filtro de rótulo. É necessária pelo menos uma condição EQ, CONTAINS ou LIST_MATCH. Consulte Sintaxe de filtragem de índice.

Exemplo:

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

Saída:

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

Item

Descrição

Syntax

EXTS.P.RANGE Pkey fromTs toTs pkeyAggregationType pkeyTimeBucket [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] FILTER filter1 [filter2 ...]

Time complexity

O(n), onde n é o número de chunks contendo os pontos de dados consultados

Descrição

Agraga dados entre skeys em um pkey. As skeys correspondentes ao filtro são primeiro agregadas (como em EXTS.S.MRANGE) e, em seguida, os resultados das skeys são agregados no nível do pkey.

Parameters

Veja abaixo

Returns

Resultados de agregação no nível do pkey em caso de sucesso; nil se o pkey ou a skey não existir; mensagem de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

fromTs

Início do intervalo de tempo, como timestamp Unix em milissegundos

toTs

Fim do intervalo de tempo, como timestamp Unix em milissegundos. Use * para a hora atual.

pkeyAggregationType

Tipo de agregação para agregação no nível do pkey. Consulte Sintaxe de agregação.

pkeyTimeBucket

Tamanho do bucket de tempo para agregação no nível do pkey, em milissegundos. Mínimo: 1.000.

MAXCOUNT count

Número máximo de pontos de dados a retornar por skey. Limite superior: 1.000.000.

AGGREGATION aggregationType timeBucket

Tipo de agregação e bucket de tempo para agregação no nível da skey, em milissegundos. Mínimo: 1.000.

FILTER filter ...

Condições de filtro de rótulo. É necessária pelo menos uma condição EQ, CONTAINS ou LIST_MATCH. Consulte Sintaxe de filtragem de índice.

Exemplo:

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

Saída:

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

Item

Descrição

Syntax

EXTS.S.RAW_MODIFY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]

Time complexity

O(1)

Descrição

Defina o valor de um ponto de dados em um timestamp específico em uma skey. Crie o pkey ou a skey automaticamente se não existirem. Os parâmetros da skey só têm efeito quando ela é criada automaticamente.

Parameters

Veja abaixo

Returns

OK em caso de sucesso; mensagem de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

Skey

Nome da skey

ts

Timestamp Unix do ponto de dados a atualizar, em milissegundos

value

Novo valor do ponto de dados. Deve ser um número de ponto flutuante de precisão dupla.

DATA_ET time

Tempo de expiração relativo, em milissegundos. Padrão: sem expiração.

CHUNK_SIZE size

Tamanho do chunk, em unidades de 16 bytes. Valores válidos: 1–256. Padrão: 256.

UNCOMPRESSED

Desativa a compressão. Ativada por padrão.

LABELS label val ...

Um ou mais pares rótulo-valor.

Exemplo:

EXTS.S.RAW_MODIFY foo temperature 1644310456023 31.5

Saída:

OK

EXTS.S.RAW_MMODIFY

Item

Descrição

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), onde n é o número de skeys

Descrição

Defina os valores de múltiplos pontos de dados em timestamps específicos em uma única chamada. Crie o pkey ou as skeys automaticamente se não existirem.

Parameters

Veja abaixo

Returns

OK para cada skey em caso de sucesso; mensagens de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

keynumber

Número de registros skey-ts-value a atualizar

Skey

Nome da skey

ts

Timestamp Unix do ponto de dados a atualizar, em milissegundos

value

Novo valor do ponto de dados. Deve ser um número de ponto flutuante de precisão dupla.

DATA_ET time

Tempo de expiração relativo, em milissegundos. Padrão: sem expiração.

CHUNK_SIZE size

Tamanho do chunk, em unidades de 16 bytes. Valores válidos: 1–256. Padrão: 256.

UNCOMPRESSED

Desativa a compressão. Ativada por padrão.

LABELS label val ...

Um ou mais pares rótulo-valor.

Exemplo:

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

Saída:

1) OK
2) OK
3) OK

EXTS.S.RAW_INCRBY

Item

Descrição

Syntax

EXTS.S.RAW_INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...]

Time complexity

O(1)

Descrição

Modifica um ponto de dados em um timestamp específico somando ou subtraindo um valor. Crie o pkey ou a skey automaticamente se não existirem. O valor inicial padrão é 0.

Parameters

Veja abaixo

Returns

OK em caso de sucesso; mensagem de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

Skey

Nome da skey

ts

Timestamp Unix do ponto de dados a atualizar, em milissegundos

value

Incremento (ou decremento, se negativo). Deve ser um número de ponto flutuante de precisão dupla.

DATA_ET time

Tempo de expiração relativo, em milissegundos. Padrão: sem expiração.

CHUNK_SIZE size

Tamanho do chunk, em unidades de 16 bytes. Valores válidos: 1–256. Padrão: 256.

UNCOMPRESSED

Desativa a compressão. Ativada por padrão.

LABELS label val ...

Um ou mais pares rótulo-valor.

Exemplo:

Primeiro, adicione um ponto de dados inicial:

EXTS.S.ADD foo temperature 1644310456 30.0

Em seguida, aplique um incremento ao mesmo timestamp:

EXTS.S.RAW_INCRBY foo temperature 1644310456 3.3

Saída:

OK

Verifique o resultado:

EXTS.S.GET foo temperature

Saída:

1) (integer) 1644310456
2) "33.3"

EXTS.S.RAW_MINCRBY

Item

Descrição

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), onde n é o número de pontos de dados

Descrição

Modifica múltiplos pontos de dados em timestamps específicos em uma única chamada. Crie o pkey ou as skeys automaticamente se não existirem.

Parameters

Veja abaixo

Returns

OK para cada skey em caso de sucesso; mensagens de erro caso contrário

Parâmetros:

Parâmetro

Descrição

Pkey

Nome do pkey

keynumber

Número de registros skey-ts-value a atualizar

Skey

Nome da skey

ts

Timestamp Unix do ponto de dados a atualizar, em milissegundos

value

Incremento (ou decremento, se negativo). Deve ser um número de ponto flutuante de precisão dupla.

DATA_ET time

Tempo de expiração relativo, em milissegundos. Padrão: sem expiração.

CHUNK_SIZE size

Tamanho do chunk, em unidades de 16 bytes. Valores válidos: 1–256. Padrão: 256.

UNCOMPRESSED

Desativa a compressão. Ativada por padrão.

LABELS label val ...

Um ou mais pares rótulo-valor.

Exemplo:

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

Saída:

1) OK
2) OK
3) OK

Sintaxe de filtragem de índice

Use filtros de rótulo para selecionar skeys em EXTS.S.QUERYINDEX, EXTS.S.MRANGE e EXTS.P.RANGE. É necessária pelo menos uma condição EQ, CONTAINS ou LIST_MATCH.

Expressão de filtro

Lógica

Descrição

L = V

EQ

O rótulo L é igual a V

L !=

CONTAINS

O rótulo L existe (não é nulo)

L = (v1,v2,...)

LIST_MATCH

O rótulo L é igual a um dos valores listados

L != V

NOEQ

O rótulo L não é igual a V

L =

NOCONTAINS

O rótulo L não existe (é nulo)

L != (v1,v2,...)

LIST_NOTMATCH

O rótulo L não corresponde a nenhum valor listado

Sintaxe de agregação

A agregação agrupa pontos de dados dentro de cada bucket de tempo definido por timeBucket e calcula um único valor por bucket. Há suporte aos seguintes tipos de agregação:

Tipo

Retorno

MAX

Valor máximo

MIN

Valor mínimo

AVG

Valor médio

SUM

Soma de todos os valores

FIRST

Primeiro valor no bucket

LAST

Último valor no bucket

RANGE

Diferença entre os valores máximo e mínimo

COUNT

Número de valores

STD.P

Variância populacional

STD.S

Variância amostral

VAR.P

Desvio padrão populacional

VAR.S

Desvio padrão amostral

FAQ

Por que o CHUNK_SIZE padrão é pequeno em algumas instâncias Tair baseadas em DRAM compatíveis com Redis 5.0?

A partir da versão 25.2.0.0, CHUNK_SIZE tem como padrão 256. Nas versões anteriores, o padrão é 32.

Próximos passos