TairTS, bir Redis modülü olarak oluşturulmuş zaman serisi veri yapısıdır. Düşük gecikme süresi ve yüksek eşzamanlılıkta bellek içi okuma/yazma erişimi sağlar, hızlı filtreleme ve toplu sorguları destekler; ayrıca zaman serisi verilerinin hem depolanmasını hem de işlenmesini üstlenir.
Temel kavramlar
TairTS verileri üç seviyeli bir hiyerarşide düzenler:
Pkey: İlişkili zaman çizelgelerinden (skey) oluşan bir grubun adlandırılmış kapsayıcısıdır. Her pkey birden fazla skey barındırabilir.
Skey: Bir pkey içindeki tek bir zaman çizelgesidir. Bir skey, sabit kapasiteli birden çok parçadan (chunk) oluşur ve filtreleme amacıyla bir veya daha fazla etiket içerebilir.
-
Chunk: Bir skey içindeki veri depolama birimidir. Her chunk birden fazla veri noktası saklar.
Varsayılan chunk kapasitesi 256'dır. Sıkıştırma olmadan bir chunk en fazla 256 veri noktası saklar. Sıkıştırma etkinleştirildiğinde, sıkıştırma oranına bağlı olarak bir chunk 256'dan fazla veri noktası saklayabilir.
Chunk'lar en küçük son kullanma birimidir. İçindeki tüm veri noktalarının süresi dolduğunda chunk silinir.
Veri noktası: Tek bir zaman serisi ölçümüdür; Unix zaman damgasından (milisaniye cinsinden) ve DOUBLE türünde bir değerden oluşur.
Çok seviyeli yapı (pkey → skey → chunk → veri noktası), ilişkili zaman çizelgelerini gruplamanıza ve uygulama kodunuza toplu işlem mantığı gömmeden tek bir komutla birden fazla skey üzerinde toplu sorgular çalıştırmanıza olanak tanır.
Çoklu zaman çizelgesi toplu sorgularının yanı sıra TairTS aşağıdaki yetenekleri de sunar:
Geçmiş zaman serisi verilerinin güncellenmesi ve biriktirilmesi.
Zaman çizelgesi düzeyinde TTL ayarlama; bu sayede her zaman çizelgesi belirli bir zaman penceresine göre otomatik olarak kaydırılabilir.
Özel depolama optimizasyonlarıyla donatılmış verimli Gorilla sıkıştırma algoritması; maliyetleri önemli ölçüde azaltır.
Kullanım senaryoları
İzlenen verilerin depolanması ve işlenmesi
Uygulama performans yönetimi (APM) için saniyelik izleme
Nesnelerin İnterneti (IoT) için veri analitiği ve işleme
Zaman pencereleri üzerinden veri analitiği
Popüler haber akışlarının önbelleğe alınması
Kısıtlama senaryolarında risk kontrolü
Ön koşullar
Başlamadan önce şunlara sahip olduğunuzdan emin olun:
Bir Tair DRAM tabanlı örnek
Örnek Redis 5.0 ile uyumluysa: küçük sürüm 1.7.20 veya üzeri
En iyi özellik desteği ve kararlılık için örneği en son küçük sürüme güncelleyin. Küme ve okuma/yazma ayrımı yapan örnekler için, tüm komutların beklendiği gibi çalışmasını sağlamak adına proxy düğümlerini de en son küçük sürüme güncelleyin. Daha fazla bilgi için bkz. Bir örneğin küçük sürümünü güncelleme.
Kullanım notları
TairTS verileri Tair örneğinde depolanır.
TairTS gerçek zamanlı, yüksek eşzamanlı yazma ve sorgulamaları destekler ancak depolama kapasitesi sınırlıdır. Süresi dolan verilerin hızla silinmesini sağlamak için TairTS verilerine bir TTL ayarlayın.
24.7.0.0 sürümündeki kırıcı değişiklik. 22 Temmuz 2024'te Redis 6.0 ile uyumlu Tair DRAM tabanlı örnekler 24.7.0.0 sürümüne güncellendi. Bu sürüm, varsayılan değeri yes olan ts-auto-del-empty-skey-enable parametresini tanıtır. Parametre yes olarak ayarlandığında, bir skey içindeki tüm veri noktalarının süresi dolduğunda skey otomatik olarak silinir. 24.7.0.0 öncesi sürümlerde süresi dolan skey'ler varsayılan olarak silinmez. Redis 6.0 uyumlu bir örnekte TairTS kullanmadan önce sürümü 24.7.0.0 veya üzerine yükseltin ve uygulamanızda beklenmeyen davranışları önlemek için ts-auto-del-empty-skey-enable parametresi ayarlarını onaylayıp manuel olarak düzenleyin.
En iyi uygulamalar
Veri hacminize göre CHUNK_SIZE ayarlayın
Bellek kullanımını ve okuma/yazma performansını optimize etmek için CHUNK_SIZE değerini skey başına düşen ortalama veri noktası sayısına göre ayarlayın:
| Skey başına ortalama veri noktası sayısı | Önerilen CHUNK_SIZE | Neden |
|---|---|---|
| 5.000'den fazla | 256 (varsayılan) | Daha büyük chunk'lar chunk sayısını ve meta veri yükünü azaltır |
| 5.000'den az | Ortalama / 20 (örneğin 1.000 nokta için 50) | Daha küçük chunk'lar dar aralıklı sorgularda sıkıştırma açma maliyetini düşürür |
Yüksek yazma hacimlerinde küçük bir CHUNK_SIZE ayarlamak çok sayıda chunk oluşturulmasına neden olur ve bu durum performansı düşürebilir.
Skey'ler için her zaman bir TTL ayarlayın
TairTS'in depolama kapasitesi sınırlıdır. Süresi dolan verilerin otomatik olarak temizlenmesini sağlamak için skey'leri oluştururken veya veri noktası eklerken DATA_ET belirtin.
Komut listesi
| Tür | Komut | Sözdizimi | Açıklama |
|---|---|---|---|
| Temel yazma işlemleri | EXTS.P.CREATE | EXTS.P.CREATE Pkey |
Bir TairTS pkey oluşturur. Aynı ada sahip bir pkey zaten varsa işlem başarısız olur. |
| EXTS.S.CREATE | EXTS.S.CREATE Pkey Skey [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 label2 val2 ...] |
Bir pkey içinde bir skey oluşturur. Pkey yoksa otomatik olarak oluşturur. Aynı ada sahip bir skey zaten varsa işlem başarısız olur. | |
| EXTS.S.ALTER | EXTS.S.ALTER Pkey Skey [DATA_ET time] |
Bir skey'in meta verilerini değiştirir. Yalnızca DATA_ET değiştirilebilir. |
|
| EXTS.S.ADD | EXTS.S.ADD Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Bir skey'e veri noktası ekler. Pkey veya skey yoksa otomatik olarak oluşturur. Skey parametreleri yalnızca skey otomatik olarak oluşturulduğunda etkili olur. | |
| EXTS.S.MADD | EXTS.S.MADD Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Tek çağrıda bir pkey'in birden fazla skey'ine veri noktası ekler. Pkey veya skey'ler yoksa otomatik olarak oluşturur. | |
| EXTS.S.INCRBY | EXTS.S.INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Skey'deki son veri noktası değerine ekleme yaparak (veya çıkararak) bir veri noktası ekler. Varsayılan başlangıç değeri 0'dır. Pkey veya skey yoksa otomatik olarak oluşturur. | |
| EXTS.S.MINCRBY | EXTS.S.MINCRBY Pkey keynumber Skey ts value [Skey ts value ...] [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Son değerleri artırarak veya azaltarak birden fazla skey'e veri noktası ekler. Pkey veya skey'ler yoksa otomatik olarak oluşturur. | |
| EXTS.S.DEL | EXTS.S.DEL Pkey Skey |
Bir pkey'den bir skey'i ve tüm veri noktalarını siler. | |
| Temel okuma işlemleri | EXTS.S.GET | EXTS.S.GET Pkey Skey |
Bir skey'deki en son veri noktasını döndürür. |
| EXTS.S.INFO | EXTS.S.INFO Pkey Skey |
Bir skey'in meta verilerini döndürür: veri noktası sayısı, en son zaman damgası ve değer ile etiket bilgileri. | |
| EXTS.S.QUERYINDEX | EXTS.S.QUERYINDEX Pkey filter1 [filter2 ...] |
Belirtilen etiket filtreleriyle eşleşen bir pkey içindeki skey'leri döndürür. | |
| Toplu işlemler | EXTS.S.RANGE | EXTS.S.RANGE Pkey Skey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] |
Kapalı bir zaman aralığında bir skey içindeki veri noktalarını, isteğe bağlı toplu işlemle birlikte döndürür. |
| EXTS.S.MRANGE | EXTS.S.MRANGE Pkey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] [WITHLABELS] FILTER filter1 [filter2 ...] |
Etiket filtreleriyle eşleşen birden fazla skey'den, kapalı bir zaman aralığındaki veri noktalarını döndürür. | |
| EXTS.P.RANGE | EXTS.P.RANGE Pkey fromTs toTs pkeyAggregationType pkeyTimeBucket [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] FILTER filter1 [filter2 ...] |
Bir pkey içindeki skey'ler arasında veri noktalarını toplar. Önce skey'ler (EXTS.S.MRANGE'deki gibi) toplanır, ardından sonuçlar pkey düzeyinde toplanır. | |
| Eşzamanlı yazma işlemleri | EXTS.S.RAW_MODIFY | EXTS.S.RAW_MODIFY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Belirli bir zaman damgasındaki bir veri noktasının değerini ayarlar. Pkey veya skey yoksa otomatik olarak oluşturur. |
| 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 ...] |
Tek çağrıda belirli zaman damgalarındaki birden fazla veri noktasının değerlerini ayarlar. Pkey veya skey'ler yoksa otomatik olarak oluşturur. | |
| EXTS.S.RAW_INCRBY | EXTS.S.RAW_INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
Belirli bir zaman damgasındaki bir veri noktasını bir değer ekleyerek veya çıkararak değiştirir. Pkey veya skey yoksa otomatik olarak oluşturur. Varsayılan başlangıç değeri 0'dır. | |
| 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 ...] |
Tek çağrıda belirli zaman damgalarındaki birden fazla veri noktasını değiştirir. Pkey veya skey'ler yoksa otomatik olarak oluşturur. | |
| Genel amaçlı işlemler | DEL | DEL key [key ...] |
Bir veya daha fazla TairTS anahtarını siler. |
Komut sözdizimi kuralları:
BÜYÜK HARF ANAHTAR KELIME : komut anahtar kelimesi
_İtalik metin_ : değişken
[seçenekler] : isteğe bağlı parametre
A|B : birbirini dışlayan seçenekler
... : önceki parametre tekrarlanabilir
EXTS.P.CREATE
Time complexity| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.P.CREATE Pkey |
| O(1) | |
| Açıklama | Bir TairTS pkey oluşturur. Aynı ada sahip bir pkey zaten varsa işlem başarısız olur. |
| Parameters | Pkey: pkey adı |
| Returns | Başarılı olursa OK; aksi takdirde bir hata mesajı |
Örnek:
EXTS.P.CREATE foo
Çıktı:
OK
EXTS.S.CREATE
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.CREATE Pkey Skey [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 label2 val2 ...] |
| Time complexity | O(1) |
| Açıklama | Belirtilen pkey içinde bir skey oluşturur. Pkey yoksa otomatik olarak oluşturur. Aynı ada sahip bir skey zaten varsa işlem başarısız olur. |
| Parameters | Aşağıya bakın |
| Returns | Başarılı olursa OK; aksi takdirde bir hata mesajı |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
Skey |
Skey adı |
DATA_ET time |
Veri noktalarının göreli son kullanma süresi (milisaniye cinsinden). Varsayılan olarak süresizdir. |
CHUNK_SIZE size |
Tek bir chunk'ın boyutu (16 bayt birimi cinsinden). Geçerli değerler: 1–256. Varsayılan: 256 (chunk başına 4 KB). Bir chunk kapasitesine ulaştığında yeni bir chunk oluşturulur. Ayarlama rehberi için bkz. En iyi uygulamalar. |
UNCOMPRESSED |
Skey için sıkıştırmayı devre dışı bırakır. Varsayılan olarak sıkıştırma etkindir. |
LABELS label val ... |
Skey'e eklenen bir veya daha fazla etiket-değer çifti. Örnek: LABELS sensor_id 1. |
Örnek:
EXTS.S.CREATE foo temperature DATA_ET 10000000 LABELS sensor_id 1
Çıktı:
OK
EXTS.S.ALTER
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.ALTER Pkey Skey [DATA_ET time] |
| Time complexity | O(1) |
| Açıklama | Bir skey'in meta verilerini değiştirir. Yalnızca DATA_ET değiştirilebilir. |
| Parameters | Aşağıya bakın |
| Returns | Başarılı olursa OK; aksi takdirde bir hata mesajı |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
Skey |
Skey adı |
DATA_ET time |
Veri noktalarının yeni göreli son kullanma süresi (milisaniye cinsinden). Varsayılan olarak süresizdir. |
Örnek:
EXTS.S.ALTER foo temperature DATA_ET 100000
Çıktı:
OK
EXTS.S.ADD
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.ADD Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
| Time complexity | O(1) |
| Açıklama | Bir skey'e veri noktası ekler. Pkey veya skey yoksa otomatik olarak oluşturur. Skey parametreleri (DATA_ET, CHUNK_SIZE, UNCOMPRESSED, LABELS) yalnızca skey otomatik olarak oluşturulduğunda etkili olur. |
| Parameters | Aşağıya bakın |
| Returns | Başarılı olursa OK; aksi takdirde bir hata mesajı |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
Skey |
Skey adı |
ts |
Veri noktasının Unix zaman damgası (milisaniye cinsinden). Geçerli sunucu saati için * kullanın. |
value |
Veri noktası değeri. Çift hassasiyetli kayan nokta sayısı olmalıdır. |
DATA_ET time |
Veri noktalarının göreli son kullanma süresi (milisaniye cinsinden). Varsayılan olarak süresizdir. |
CHUNK_SIZE size |
Chunk boyutu (16 bayt birimi cinsinden). Geçerli değerler: 1–256. Varsayılan: 256. Bkz. EXTS.S.CREATE. |
UNCOMPRESSED |
Skey için sıkıştırmayı devre dışı bırakır. Varsayılan olarak sıkıştırma etkindir. |
LABELS label val ... |
Bir veya daha fazla etiket-değer çifti. Örnek: LABELS sensor_id 1. |
Örnek:
EXTS.S.ADD foo temperature * 30.5 DATA_ET 1000000 LABELS sensor_id 1
Çıktı:
OK
EXTS.S.MADD
| Öğe | Açıklama |
|---|---|
| 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); burada n, skey sayısıdır |
| Açıklama | Tek çağrıda bir pkey'in birden fazla skey'ine veri noktası ekler. Pkey veya skey'ler yoksa otomatik olarak oluşturur. Skey parametreleri yalnızca skey otomatik olarak oluşturulduğunda etkili olur. |
| Parameters | Aşağıya bakın |
| Returns | Her skey için başarılı olursa OK; aksi takdirde hata mesajları |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
keynumber |
Eklenecek skey-zaman damgası-değer kayıt sayısı |
Skey |
Skey adı |
ts |
Unix zaman damgası (milisaniye cinsinden). Geçerli sunucu saati için * kullanın. |
value |
Veri noktası değeri. Çift hassasiyetli kayan nokta sayısı olmalıdır. |
DATA_ET time |
Göreli son kullanma süresi (milisaniye cinsinden). Varsayılan olarak süresizdir. |
CHUNK_SIZE size |
Chunk boyutu (16 bayt birimi cinsinden). Geçerli değerler: 1–256. Varsayılan: 256. |
UNCOMPRESSED |
Sıkıştırmayı devre dışı bırakır. Varsayılan olarak etkindir. |
LABELS label val ... |
Bir veya daha fazla etiket-değer çifti. |
Örnek:
EXTS.S.MADD foo 3 temperature * 30.2 pressure * 2.05 distance * 0.5
Çıktı:
1) OK
2) OK
3) OK
EXTS.S.INCRBY
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
| Time complexity | O(1) |
| Açıklama | Değeri, skey'deki son veri noktası değeri artı value olan bir veri noktası ekler. Negatif bir value son değerden çıkarma yapar. Pkey veya skey yoksa otomatik olarak oluşturur. Varsayılan başlangıç değeri 0'dır. |
| Parameters | Aşağıya bakın |
| Returns | Başarılı olursa OK; aksi takdirde bir hata mesajı |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
Skey |
Skey adı |
ts |
Unix zaman damgası (milisaniye cinsinden). Geçerli sunucu saati için * kullanın. |
value |
Son veri noktası değerine uygulanacak artış (veya negatifse azalış). Çift hassasiyetli kayan nokta sayısı olmalıdır. |
DATA_ET time |
Göreli son kullanma süresi (milisaniye cinsinden). Varsayılan olarak süresizdir. |
CHUNK_SIZE size |
Chunk boyutu (16 bayt birimi cinsinden). Geçerli değerler: 1–256. Varsayılan: 256. |
UNCOMPRESSED |
Sıkıştırmayı devre dışı bırakır. Varsayılan olarak etkindir. |
LABELS label val ... |
Bir veya daha fazla etiket-değer çifti. |
Örnek:
Önce bir başlangıç veri noktası ekleyin:
EXTS.S.ADD foo temperature 1644310456023 30.0
Ardından artırın:
EXTS.S.INCRBY foo temperature 1644372093031 2
Çıktı:
OK
Sonucu doğrulayın:
EXTS.S.GET foo temperature
Çıktı:
1) (integer) 1644372093031
2) "32"
EXTS.S.MINCRBY
| Öğe | Açıklama |
|---|---|
| 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); burada n, skey sayısıdır |
| Açıklama | Her skey'in son değerini artırarak (veya azaltarak) birden fazla skey'e veri noktası ekler. Pkey veya skey'ler yoksa otomatik olarak oluşturur. Varsayılan başlangıç değeri 0'dır. |
| Parameters | Aşağıya bakın |
| Returns | Her skey için başarılı olursa OK; aksi takdirde hata mesajları |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
keynumber |
Skey sayısı |
Skey |
Skey adı |
ts |
Unix zaman damgası (milisaniye cinsinden). Geçerli sunucu saati için * kullanın. |
value |
Artış (veya negatifse azalış). Çift hassasiyetli kayan nokta sayısı olmalıdır. |
DATA_ET time |
Göreli son kullanma süresi (milisaniye cinsinden). Varsayılan olarak süresizdir. |
CHUNK_SIZE size |
Chunk boyutu (16 bayt birimi cinsinden). Geçerli değerler: 1–256. Varsayılan: 256. |
UNCOMPRESSED |
Sıkıştırmayı devre dışı bırakır. Varsayılan olarak etkindir. |
LABELS label val ... |
Bir veya daha fazla etiket-değer çifti. |
Örnek:
EXTS.S.MINCRBY foo 3 temperature * 0.2 pressure * -0.1 distance * 0.0
Çıktı:
1) OK
2) OK
3) OK
EXTS.S.DEL
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.DEL Pkey Skey |
| Time complexity | O(1) |
| Açıklama | Bir pkey'den bir skey'i ve tüm veri noktalarını siler. |
| Parameters | Pkey: pkey adı; Skey: skey adı |
| Returns | Başarılı olursa OK; aksi takdirde bir hata mesajı |
Örnek:
EXTS.S.DEL foo temperature
Çıktı:
OK
EXTS.S.GET
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.GET Pkey Skey |
| Time complexity | O(1) |
| Açıklama | Bir skey'deki en son veri noktasını döndürür. |
| Parameters | Pkey: pkey adı; Skey: skey adı |
| Returns | Başarılı olursa en son veri noktası (zaman damgası ve değer); pkey veya skey yoksa nil; aksi takdirde bir hata mesajı |
Örnek:
EXTS.S.GET foo temperature
Çıktı:
1) (integer) 1644372730150
2) "32.2"
EXTS.S.INFO
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.INFO Pkey Skey |
| Time complexity | O(1) |
| Açıklama | Veri noktası sayısı, en son zaman damgası ve değer ile etiket bilgileri dahil olmak üzere bir skey'in meta verilerini döndürür. |
| Parameters | Pkey: pkey adı; Skey: skey adı |
| Returns | Başarılı olursa skey meta verileri; pkey veya skey yoksa nil; aksi takdirde bir hata mesajı |
Örnek:
EXTS.S.INFO foo temperature
Çıktı:
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
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.QUERYINDEX Pkey filter1 [filter2 ...] |
| Time complexity | O(n); burada n, filtre koşullarında yer alan maksimum küme sayısıdır |
| Açıklama | Belirtilen etiket filtreleriyle eşleşen bir pkey içindeki skey'leri döndürür. |
| Parameters | Aşağıya bakın |
| Returns | Başarılı olursa eşleşen skey adları; pkey veya skey yoksa nil; aksi takdirde bir hata mesajı |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
filter |
Etiket filtreleme koşulları. En az bir EQ, CONTAINS veya LIST_MATCH koşulu gereklidir. Bkz. Dizin filtreleme sözdizimi. |
Örnek:
EXTS.S.QUERYINDEX foo sensor_id=1
Çıktı:
1) "temperature"
EXTS.S.RANGE
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.RANGE Pkey Skey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] |
| Time complexity | O(n); burada n, sorgulanan veri noktalarını içeren chunk sayısıdır |
| Açıklama | Kapalı bir zaman aralığı [fromTs, toTs] içindeki bir skey'deki veri noktalarını, isteğe bağlı toplu işlemle birlikte döndürür. |
| Parameters | Aşağıya bakın |
| Returns | Veri noktaları (veya toplu işlem sonuçları) artı bir devam belirteci; pkey veya skey yoksa nil; aksi takdirde bir hata mesajı |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
Skey |
Skey adı |
fromTs |
Zaman aralığının başlangıcı (milisaniye cinsinden Unix zaman damgası) |
toTs |
Zaman aralığının bitişi (milisaniye cinsinden Unix zaman damgası). Geçerli saat için * kullanın. toTs değeri fromTs değerine eşitse sorgu o tek zaman noktasındaki veriyi döndürür. |
MAXCOUNT count |
Döndürülecek maksimum veri noktası sayısı. Varsayılan limit yoktur. Üst limit: 1.000.000. |
AGGREGATION aggregationType timeBucket |
Toplu işlem türü (ör. MAX, AVG, SUM) ve milisaniye cinsinden zaman kovası boyutu (minimum: 1.000). Her kova içindeki veriler toplanır ve tek bir değer olarak döndürülür. Her sonucun zaman damgası, ilgili kovanın başlangıcıdır. Bkz. Toplu işlem sözdizimi. |
Yanıt, son öğe olarak bir devam belirteci içerir:
0: eşleşen tüm veri noktaları döndürüldü1: bazı veri noktaları dahil edilmedi. Kalan verileri almak için sonrakifromTsolarak son döndürülen veri noktasının zaman damgasını kullanın.
Örnek:
EXTS.S.RANGE foo test 1644459031662 * AGGREGATION AVG 10000 MAXCOUNT 2
Bu komut, 10 saniyelik kova başına ortalama değeri döndürür ve sonucu 2 ile sınırlar.
Çıktı:
1) 1) 1) (integer) 1644459730000
2) "20.6"
2) 1) (integer) 1644459790000
2) "21.2"
2) (integer) 1
1 belirteci, bu 2 sonucun ötesinde daha fazla veri noktası olduğunu gösterir.
EXTS.S.MRANGE
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.MRANGE Pkey fromTs toTs [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] [WITHLABELS] FILTER filter1 [filter2 ...] |
| Time complexity | O(n); burada n, sorgulanan veri noktalarını içeren chunk sayısıdır |
| Açıklama | Etiket filtreleriyle eşleşen birden fazla skey'den, kapalı bir zaman aralığı [fromTs, toTs] içindeki veri noktalarını döndürür. |
| Parameters | Aşağıya bakın |
| Returns | Başarılı olursa eşleşen skey'ler ve veri noktaları; pkey veya skey yoksa nil; aksi takdirde bir hata mesajı |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
fromTs |
Zaman aralığının başlangıcı (milisaniye cinsinden Unix zaman damgası) |
toTs |
Zaman aralığının bitişi (milisaniye cinsinden Unix zaman damgası). Geçerli saat için * kullanın. |
MAXCOUNT count |
Skey başına döndürülecek maksimum veri noktası sayısı. Üst limit: 1.000.000. |
AGGREGATION aggregationType timeBucket |
Toplu işlem türü ve milisaniye cinsinden zaman kovası boyutu (minimum: 1.000). Sonuçlar her kovanın başlangıcında döndürülür. |
WITHLABELS |
Çıktıya etiket bilgilerini dahil eder. Varsayılan olarak atlanır. |
FILTER filter ... |
Etiket filtreleme koşulları. En az bir EQ, CONTAINS veya LIST_MATCH koşulu gereklidir. Bkz. Dizin filtreleme sözdizimi. |
Örnek:
EXTS.S.MRANGE foo 1644451031662 * AGGREGATION MAX 10000 WITHLABELS FILTER sensor_id=1
Çıktı:
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
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.P.RANGE Pkey fromTs toTs pkeyAggregationType pkeyTimeBucket [MAXCOUNT count] [AGGREGATION aggregationType timeBucket] FILTER filter1 [filter2 ...] |
| Time complexity | O(n); burada n, sorgulanan veri noktalarını içeren chunk sayısıdır |
| Açıklama | Bir pkey içindeki skey'ler arasında verileri toplar. Filtreyle eşleşen skey'ler önce (EXTS.S.MRANGE'deki gibi) toplanır, ardından skey sonuçları pkey düzeyinde toplanır. |
| Parameters | Aşağıya bakın |
| Returns | Başarılı olursa pkey düzeyindeki toplu işlem sonuçları; pkey veya skey yoksa nil; aksi takdirde bir hata mesajı |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
fromTs |
Zaman aralığının başlangıcı (milisaniye cinsinden Unix zaman damgası) |
toTs |
Zaman aralığının bitişi (milisaniye cinsinden Unix zaman damgası). Geçerli saat için * kullanın. |
pkeyAggregationType |
Pkey düzeyindeki toplu işlem için toplu işlem türü. Bkz. Toplu işlem sözdizimi. |
pkeyTimeBucket |
Pkey düzeyindeki toplu işlem için milisaniye cinsinden zaman kovası boyutu. Minimum: 1.000. |
MAXCOUNT count |
Skey başına döndürülecek maksimum veri noktası sayısı. Üst limit: 1.000.000. |
AGGREGATION aggregationType timeBucket |
Skey düzeyindeki toplu işlem için toplu işlem türü ve milisaniye cinsinden zaman kovası. Minimum: 1.000. |
FILTER filter ... |
Etiket filtreleme koşulları. En az bir EQ, CONTAINS veya LIST_MATCH koşulu gereklidir. Bkz. Dizin filtreleme sözdizimi. |
Örnek:
EXTS.P.RANGE foo 1644451031662 * SUM 500000 AGGREGATION SUM 10000 FILTER sensor_id=1
Çıktı:
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
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.RAW_MODIFY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
| Time complexity | O(1) |
| Açıklama | Bir skey'de belirli bir zaman damgasındaki bir veri noktasının değerini ayarlar. Pkey veya skey yoksa otomatik olarak oluşturur. Skey parametreleri yalnızca skey otomatik olarak oluşturulduğunda etkili olur. |
| Parameters | Aşağıya bakın |
| Returns | Başarılı olursa OK; aksi takdirde bir hata mesajı |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
Skey |
Skey adı |
ts |
Güncellenecek veri noktasının Unix zaman damgası (milisaniye cinsinden) |
value |
Yeni veri noktası değeri. Çift hassasiyetli kayan nokta sayısı olmalıdır. |
DATA_ET time |
Göreli son kullanma süresi (milisaniye cinsinden). Varsayılan olarak süresizdir. |
CHUNK_SIZE size |
Chunk boyutu (16 bayt birimi cinsinden). Geçerli değerler: 1–256. Varsayılan: 256. |
UNCOMPRESSED |
Sıkıştırmayı devre dışı bırakır. Varsayılan olarak etkindir. |
LABELS label val ... |
Bir veya daha fazla etiket-değer çifti. |
Örnek:
EXTS.S.RAW_MODIFY foo temperature 1644310456023 31.5
Çıktı:
OK
EXTS.S.RAW_MMODIFY
| Öğe | Açıklama |
|---|---|
| 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); burada n, skey sayısıdır |
| Açıklama | Tek çağrıda belirli zaman damgalarındaki birden fazla veri noktasının değerlerini ayarlar. Pkey veya skey'ler yoksa otomatik olarak oluşturur. |
| Parameters | Aşağıya bakın |
| Returns | Her skey için başarılı olursa OK; aksi takdirde hata mesajları |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
keynumber |
Güncellenecek skey-zaman damgası-değer kayıt sayısı |
Skey |
Skey adı |
ts |
Güncellenecek veri noktasının Unix zaman damgası (milisaniye cinsinden) |
value |
Yeni veri noktası değeri. Çift hassasiyetli kayan nokta sayısı olmalıdır. |
DATA_ET time |
Göreli son kullanma süresi (milisaniye cinsinden). Varsayılan olarak süresizdir. |
CHUNK_SIZE size |
Chunk boyutu (16 bayt birimi cinsinden). Geçerli değerler: 1–256. Varsayılan: 256. |
UNCOMPRESSED |
Sıkıştırmayı devre dışı bırakır. Varsayılan olarak etkindir. |
LABELS label val ... |
Bir veya daha fazla etiket-değer çifti. |
Örnek:
EXTS.S.RAW_MMODIFY foo 3 temperature 1644565954814 30.2 pressure 1644565954814 2.05 distance 1644565954814 0.5
Çıktı:
1) OK
2) OK
3) OK
EXTS.S.RAW_INCRBY
| Öğe | Açıklama |
|---|---|
| Syntax | EXTS.S.RAW_INCRBY Pkey Skey ts value [DATA_ET time] [CHUNK_SIZE size] [UNCOMPRESSED] [LABELS label1 val1 ...] |
| Time complexity | O(1) |
| Açıklama | Belirli bir zaman damgasındaki bir veri noktasını bir değer ekleyerek veya çıkararak değiştirir. Pkey veya skey yoksa otomatik olarak oluşturur. Varsayılan başlangıç değeri 0'dır. |
| Parameters | Aşağıya bakın |
| Returns | Başarılı olursa OK; aksi takdirde bir hata mesajı |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
Skey |
Skey adı |
ts |
Güncellenecek veri noktasının Unix zaman damgası (milisaniye cinsinden) |
value |
Artış (veya negatifse azalış). Çift hassasiyetli kayan nokta sayısı olmalıdır. |
DATA_ET time |
Göreli son kullanma süresi (milisaniye cinsinden). Varsayılan olarak süresizdir. |
CHUNK_SIZE size |
Chunk boyutu (16 bayt birimi cinsinden). Geçerli değerler: 1–256. Varsayılan: 256. |
UNCOMPRESSED |
Sıkıştırmayı devre dışı bırakır. Varsayılan olarak etkindir. |
LABELS label val ... |
Bir veya daha fazla etiket-değer çifti. |
Örnek:
Önce bir başlangıç veri noktası ekleyin:
EXTS.S.ADD foo temperature 1644310456 30.0
Ardından aynı zaman damgasına bir artış uygulayın:
EXTS.S.RAW_INCRBY foo temperature 1644310456 3.3
Çıktı:
OK
Sonucu doğrulayın:
EXTS.S.GET foo temperature
Çıktı:
1) (integer) 1644310456
2) "33.3"
EXTS.S.RAW_MINCRBY
| Öğe | Açıklama |
|---|---|
| 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); burada n, veri noktası sayısıdır |
| Açıklama | Tek çağrıda belirli zaman damgalarındaki birden fazla veri noktasını değiştirir. Pkey veya skey'ler yoksa otomatik olarak oluşturur. |
| Parameters | Aşağıya bakın |
| Returns | Her skey için başarılı olursa OK; aksi takdirde hata mesajları |
Parametreler:
| Parametre | Açıklama |
|---|---|
Pkey |
Pkey adı |
keynumber |
Güncellenecek skey-zaman damgası-değer kayıt sayısı |
Skey |
Skey adı |
ts |
Güncellenecek veri noktasının Unix zaman damgası (milisaniye cinsinden) |
value |
Artış (veya negatifse azalış). Çift hassasiyetli kayan nokta sayısı olmalıdır. |
DATA_ET time |
Göreli son kullanma süresi (milisaniye cinsinden). Varsayılan olarak süresizdir. |
CHUNK_SIZE size |
Chunk boyutu (16 bayt birimi cinsinden). Geçerli değerler: 1–256. Varsayılan: 256. |
UNCOMPRESSED |
Sıkıştırmayı devre dışı bırakır. Varsayılan olarak etkindir. |
LABELS label val ... |
Bir veya daha fazla etiket-değer çifti. |
Örnek:
EXTS.S.RAW_MINCRBY foo 3 temperature 1644565954814 30.2 pressure 1644565954814 2.05 distance 1644565954814 0.5
Çıktı:
1) OK
2) OK
3) OK
Dizin filtreleme sözdizimi
EXTS.S.QUERYINDEX, EXTS.S.MRANGE ve EXTS.P.RANGE komutlarında skey seçmek için etiket filtrelerini kullanın. En az bir EQ, CONTAINS veya LIST_MATCH koşulu gereklidir.
| Filtre ifadesi | Mantık | Açıklama |
|---|---|---|
L = V |
EQ | L etiketi V değerine eşittir |
L != |
CONTAINS | L etiketi mevcuttur (null değildir) |
L = (v1,v2,...) |
LIST_MATCH | L etiketi listelenen değerlerden birine eşittir |
L != V |
NOEQ | L etiketi V değerine eşit değildir |
L = |
NOCONTAINS | L etiketi mevcut değildir (null'dur) |
L != (v1,v2,...) |
LIST_NOTMATCH | L etiketi listelenen değerlerin hiçbiriyle eşleşmez |
Toplu işlem sözdizimi
Toplu işlem, timeBucket ile tanımlanan her zaman kovası içindeki veri noktalarını gruplar ve kova başına tek bir değer hesaplar. Aşağıdaki toplu işlem türleri desteklenir:
| Tür | Döndürülen değer |
|---|---|
MAX |
Maksimum değer |
MIN |
Minimum değer |
AVG |
Ortalama değer |
SUM |
Tüm değerlerin toplamı |
FIRST |
Kovadaki ilk değer |
LAST |
Kovadaki son değer |
RANGE |
Maksimum ve minimum değerler arasındaki fark |
COUNT |
Değer sayısı |
STD.P |
Popülasyon varyansı |
STD.S |
Örneklem varyansı |
VAR.P |
Popülasyon standart sapması |
VAR.S |
Örneklem standart sapması |
SSS
Redis 5.0 ile uyumlu bazı Tair DRAM tabanlı örneklerde varsayılan CHUNK_SIZE neden küçüktür?
25.2.0.0 sürümünden itibaren CHUNK_SIZE varsayılan olarak 256'dır. Önceki sürümlerde varsayılan değer 32'dir.