Tüm Ürünler
Search
Belge Merkezi

Tair (Redis® OSS-Compatible):exZset

Son Güncelleme:Oct 03, 2026

TairZset (exZset), Redis sıralı kümelerini çok boyutlu puanlama özelliğiyle genişletir. Üyeler, soldan sağa öncelikli olacak şekilde en fazla 256 çift hassasiyetli kayan noktalı puana göre sıralanır.

Genel Bakış

Redis sıralı kümeleri üye başına yalnızca tek bir puanı destekler; bu durum çok boyutlu sıralamayı zorlaştırır. Puanları IEEE 754 kodlamasıyla birleştirme veya dize birleştirme gibi yaygın geçici çözümler, hassasiyet kaybına, karmaşık kodlama/çözümleme mantığına ve bireysel puan boyutlarının atomik olarak artırılmasının mümkün olmamasına neden olur.

TairZset, yerel çok boyutlu bir veri yapısıyla bu sorunu çözer:

  • Üye başına en fazla 256 puan boyutu; biçim: score1#score2#...#scoreN

  • Soldan sağa öncelik: İki üye karşılaştırılırken ilk boyut önce değerlendirilir; eşitse ikinci boyuta geçilir ve bu şekilde devam eder.

  • Atomik artırımlar: EXZINCRBY komutu, okuma-değiştirme-yazma döngülerine gerek kalmadan belirli bir boyutu artırır.

  • API uyumluluğu: Komutlar yerel sıralı küme komutlarını yansıtır; istemcinizde kodlama veya çözümleme mantığı gerektirmez.

  • Normal ve dağıtılmış liderlik tabloları: Hem tek düğümlü hem de dağıtılmış liderlik tablosu mimarilerini destekler.

  • Açık kaynaklı TairJedis istemcisi: TairJedis SDK adresinde mevcuttur; diğer diller için istemci uygulamalarına referans olarak açık kaynak kodunu kullanabilirsiniz.

Modülün açık kaynak koduna GitHub'daki TairZset sayfasından erişebilirsiniz.

Kullanım senaryoları

Çok boyutlu puanlama, tek bir metriğin yeterli olmadığı tüm liderlik tabloları için TairZset'i doğal bir seçim haline getirir:

  • Canlı yayın liderlik tabloları: Yayıncıları önce popülerliğe, sonra beğeni sayısına, ardından hediye tutarına göre sıralayın — popularity#likes#gift_amount

  • Madalya sıralamaları: Yarışmacıları önce altın, sonra gümüş, ardından bronz madalya sayısına göre sıralayın — gold#silver#bronze

  • Oyun liderlik tabloları: Oyuncuları önce puana, sonra görev tamamlama süresine, ardından oyuncu rütbesine göre sıralayın — score#completion_time#player_rank

Çok boyutlu karşılaştırma nasıl çalışır?

TairZset, puanları soldan sağa doğru boyut boyut karşılaştırır. İki boyutlu bir puan olan score1#score2 değerini ele alalım:

  • 0#99 ile 99#90 ve 99#99 karşılaştırması: 0 < 99 olduğu için sonuç 0#99 < 99#90 < 99#99 şeklinde olur.

  • # işaretini ondalık nokta gibi düşünün: 0.99 < 99.90 < 99.99

Tüm boyutlar eşitse TairZset, üye adını ASCII sırasına göre sıralar.

Ön koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

En fazla özellik ve en yüksek kararlılık için en son küçük sürüme güncelleyin. Bkz. Bir örneğin küçük sürümünü güncelleme . Küme örnekleri veya okuma/yazma ayrıştırma örnekleri için, tüm komutların beklendiği gibi çalışmasını sağlamak amacıyla proxy düğümlerini de güncelleyin.

Kullanım notları

  • Tüm TairZset komutları, Tair örneklerindeki TairZset verileri üzerinde çalışır. Bu komutları farklı bir veri türü içeren bir anahtar üzerinde çalıştırmak hata döndürür.

  • Puan biçimi tutarlılığı: Aynı anahtardaki tüm üyeler aynı sayıda puan boyutu kullanmalıdır. Aynı anahtarda 1#2#3 ve 1#2 karışımı hata oluşturur.

  • Artırım biçimi: EXZINCRBY içindeki increment değeri, hedef üyenin puan boyutu biçimiyle eşleşmelidir. Üç boyutlu bir puanın yalnızca bir boyutunu artırmak için üç boyutu da belirtin (ör. EXZINCRBY key 0#1#0 member).

  • +inf ve -inf değerleri, tüm puan aralığı komutlarında geçerli puan değerleridir.

Hızlı başlangıç

Aşağıdaki örnek, iki boyutlu bir canlı yayın liderlik tablosu oluşturur: Önce popülerliğe, sonra beğeni sayısına göre sıralama yapılır.

# Add streamers with initial scores (popularity#likes)
EXZADD leaderboard 1000#500 alice 800#900 bob 1000#300 carol

# Atomically increment alice's likes without a read-modify-write cycle
EXZINCRBY leaderboard 0#100 alice

# Get the full leaderboard, highest score first
EXZREVRANGE leaderboard 0 -1 WITHSCORES
# 1) "alice"
# 2) "1000#600"
# 3) "carol"
# 4) "1000#300"
# 5) "bob"
# 6) "800#900"

# Get alice's rank (highest = rank 0)
EXZREVRANK leaderboard alice
# (integer) 0

Komutlar

Aşağıdaki tabloda tüm TairZset komutları listelenmiştir. TairZset anahtarlarını silmek için yerel Redis DEL komutunu kullanın.

Komut Sözdizimi Karmaşıklık Açıklama
EXZADD EXZADD key [NX|XX] [CH] [INCR] score member [score member ...] O(M\*log(N)) Üyeleri puanlarla ekler veya günceller
EXZINCRBY EXZINCRBY key increment member O(log(N)) Bir üyenin puanını artırır
EXZSCORE EXZSCORE key member O(1) Bir üyenin puanını alır
EXZRANGE EXZRANGE key min max [WITHSCORES] O(log(N)+M) Dizin aralığına göre üyeleri düşükten yükseğe döndürür
EXZREVRANGE EXZREVRANGE key min max [WITHSCORES] O(log(N)+M) Dizin aralığına göre üyeleri yüksekten düşüğe döndürür
EXZRANGEBYSCORE EXZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] O(log(N)+M) Puan aralığına göre üyeleri düşükten yükseğe döndürür
EXZREVRANGEBYSCORE EXZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] O(log(N)+M) Puan aralığına göre üyeleri yüksekten düşüğe döndürür
EXZRANGEBYLEX EXZRANGEBYLEX key min max [LIMIT offset count] O(log(N)+M) Sözcüksel aralığa göre üyeleri döndürür
EXZREVRANGEBYLEX EXZREVRANGEBYLEX key max min [LIMIT offset count] O(log(N)+M) Sözcüksel aralığa göre üyeleri ters sırada döndürür
EXZREM EXZREM key member [member ...] O(M\*log(N)) Üyeleri kaldırır
EXZREMRANGEBYSCORE EXZREMRANGEBYSCORE key min max O(log(N)+M) Puan aralığına göre üyeleri kaldırır
EXZREMRANGEBYRANK EXZREMRANGEBYRANK key start stop O(log(N)+M) Sıra aralığına göre üyeleri kaldırır
EXZREMRANGEBYLEX EXZREMRANGEBYLEX key min max O(log(N)+M) Sözcüksel aralığa göre üyeleri kaldırır
EXZCARD EXZCARD key O(1) Üye sayısını döndürür
EXZRANK EXZRANK key member O(log(N)) Bir üyenin sırasını düşükten yükseğe döndürür
EXZREVRANK EXZREVRANK key member O(log(N)) Bir üyenin sırasını yüksekten düşüğe döndürür
EXZCOUNT EXZCOUNT key min max O(log(N)) Belirli bir puan aralığındaki üyeleri sayar
EXZLEXCOUNT EXZLEXCOUNT key min max O(log(N)) Belirli bir sözcüksel aralıktaki üyeleri sayar
EXZRANKBYSCORE EXZRANKBYSCORE key score O(log(N)) Bir puanın sırasını düşükten yükseğe döndürür
EXZREVRANKBYSCORE EXZREVRANKBYSCORE key score O(log(N)) Bir puanın sırasını yüksekten düşüğe döndürür
DEL DEL key [key ...] — Bir veya daha fazla TairZset anahtarını siler

Bu konuda kullanılan sözdizimi kuralları:

  • BÜYÜK_HARF_ANAHTAR_SÖZCÜK: komut anahtar sözcüğü

  • _italik_: değişken

  • [seçenek]: isteğe bağlı parametre

  • A|B: birbirini dışlayan seçenekler (birini seçin)

  • ...: önceki parametre tekrarlanabilir

EXZADD

Kategori Ayrıntılar
Sözdizimi EXZADD key [NX|XX] [CH] [INCR] score member [score member ...]
Karmaşıklık O(M\*log(N)); burada N anahtardaki üye sayısı, M ise eklenen veya güncellenen üye sayısıdır
Açıklama Bir TairZset anahtarına puanlı üyeler ekler veya mevcut üyelerin puanlarını günceller.

Davranış:

  • Anahtar yoksa oluşturulur.

  • Üye yoksa belirtilen puanla eklenir.

  • Üye zaten varsa puanı üzerine yazılır (NX belirtilmedikçe).

  • Her puan, çift hassasiyetli kayan noktalı bir sayının dize gösterimidir. +inf ve -inf geçerli değerlerdir.

Çok boyutlu puanlama kullanmak için her boyutu # işaretiyle ayırın; örneğin 111#222#121 . Anahtardaki tüm üyeler aynı sayıda boyut kullanmalıdır.

Seçenekler:

Seçenek Açıklama
NX Yalnızca yeni üyeler ekler; mevcut üyeleri atlar
XX Yalnızca mevcut üyeleri günceller; yeni üyeleri atlar
CH Dönüş değerini, yalnızca yeni eklenen üyelerin sayısından, tüm değiştirilen üyelerin (eklenen veya puanı güncellenen) sayısına değiştirir
INCR Puanı bir artış olarak değerlendirir; EXZADD komutunun EXZINCRBY gibi davranmasını sağlar. Bu modda yalnızca bir puan-üye çiftine izin verilir.

Dönüş değeri:

  • Seçenek yoksa: Yeni eklenen üye sayısı (yalnızca puanı güncellenen üyeler sayılmaz)

  • CH ile: Eklenen veya puanı değişen üye sayısı

  • INCR ile: Üyenin yeni puanı dize olarak (ör. "2#0#6"); işlem NX veya XX nedeniyle atlanırsa nil döndürür

Örnek:

EXZADD testkey NX 1#0#3 a 1#0#2 b
(integer) 2

EXZINCRBY

Kategori Ayrıntılar
Sözdizimi EXZINCRBY key increment member
Karmaşıklık O(log(N))
Açıklama Bir TairZset anahtarındaki bir üyenin puanını artırır.

Davranış:

  • Anahtar veya üye yoksa her ikisi de oluşturulur ve puan increment değerine ayarlanır.

  • Üye varsa puanı increment miktarınca artırılır.

  • Her puan boyutu çift hassasiyetli kayan noktalı bir sayıdır. +inf ve -inf geçerli değerlerdir.

  • Bir puanı azaltmak için negatif bir increment değeri girin.

Çok boyutlu puanlar için increment değeri, üyenin puan biçimiyle aynı olmalıdır. Örneğin, üç boyutlu bir puanın yalnızca ikinci boyutunu artırmak için 0#1#0 kullanın.

Dönüş değeri: Üyenin yeni puanı dize olarak. Çok boyutlu puanlar için biçim "score1#score2#..." şeklindedir (ör. "2#0#6").

Örnek:

EXZINCRBY testkey 2#2#1 a
"3#2#4"

EXZSCORE

Kategori Ayrıntılar
Sözdizimi EXZSCORE key member
Karmaşıklık O(1)
Açıklama Bir TairZset anahtarındaki bir üyenin puanını döndürür. Anahtar veya üye yoksa nil döndürür.

Dönüş değeri: Üyenin puanı dize olarak. Çok boyutlu puanlar için biçim "score1#score2#..." şeklindedir (ör. "3#2#4").

Örnek:

EXZSCORE testkey a
"3#2#4"

EXZRANGE

Kategori Ayrıntılar
Sözdizimi EXZRANGE key min max [WITHSCORES]
Karmaşıklık O(log(N)+M); burada N üye sayısı, M ise döndürülen üye sayısıdır
Açıklama Belirli bir dizin aralığındaki üyeleri, puana göre düşükten yükseğe sıralı olarak döndürür.

Seçenekler:

Seçenek Açıklama
min, max Sıfır tabanlı dizin değerleri. -1 son üyeyi, -2 sondan ikinci üyeyi temsil eder. Tüm üyeleri döndürmek için 0 ve -1 kullanın. min değeri son dizini aşarsa veya max değerinden büyükse boş liste döndürür.
WITHSCORES Yanıta puanları dahil eder. Biçim üye ve puanı ardışık olarak içerir: member1, score1, member2, score2, ...

Return value: Belirtilen aralıktaki üyelerin listesi; WITHSCORES belirtilirse puanlarla birlikte.

Örnek:

EXZRANGE testkey 0 -1 WITHSCORES
1) "b"
2) "1#0#2"
3) "a"
4) "3#2#4"

EXZREVRANGE

Kategori Ayrıntılar
Sözdizimi EXZREVRANGE key min max [WITHSCORES]
Karmaşıklık O(log(N)+M); burada N üye sayısı, M ise döndürülen üye sayısıdır
Açıklama Belirli bir dizin aralığındaki üyeleri, puana göre yüksekten düşüğe sıralı olarak döndürür. Aynı puana sahip üyeler ters sözcüksel sıraya göre dizilir. Sıralama yönü dışında EXZRANGE ile aynıdır.

Seçenekler:

Seçenek Açıklama
min, max Sıfır tabanlı dizin değerleri. -1 en düşük puanlı üyeyi, -2 en düşükten sonraki üyeyi temsil eder. Tüm üyeleri döndürmek için 0 ve -1 kullanın.
WITHSCORES Yanıta puanları dahil eder.

Return value: Belirtilen aralıktaki üyelerin listesi; WITHSCORES belirtilirse puanlarla birlikte.

Örnek:

EXZREVRANGE testkey 0 -1 WITHSCORES
1) "a"
2) "3#2#4"
3) "b"
4) "1#0#2"

EXZRANGEBYSCORE

Kategori Ayrıntılar
Sözdizimi EXZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
Karmaşıklık O(log(N)+M); burada N üye sayısı, M ise döndürülen üye sayısıdır. M sabit olduğunda (ör. ilk 10 üyeyi her zaman döndürmek için LIMIT kullanıldığında) karmaşıklık O(log(N)) olur.
Açıklama min ile max arasında kalan puanlara sahip tüm üyeleri düşükten yükseğe sıralı olarak döndürür. Aynı puana sahip üyeler sözcüksel sıraya göre dizilir.

Seçenekler:

Seçenek Açıklama
min, max Minimum ve maksimum puanlar. Çok boyutlu puanlar için ayırıcı olarak # kullanın. Puan sınırları bilinmiyorsa -inf ve +inf kullanın. Varsayılan olarak aralık kapalı aralıktır (min <= score <= max). Açık aralık için değerin önüne ( koyun; örneğin (1 5 1'den büyük ve en fazla 5 olan puanlara sahip üyeleri döndürür.
WITHSCORES Yanıta puanları dahil eder.
LIMIT offset count Sonucu offset konumundan başlayarak count üyeyle sınırlar. count negatifse offset konumundan itibaren tüm üyeler döndürülür. Büyük bir offset değeri, TairZset'in bu konuma ulaşmak için anahtarı taraması gerektiğinden zaman karmaşıklığını artırır.

Return value: Puan aralığındaki üyelerin listesi; WITHSCORES belirtilirse puanlarla birlikte.

Örnek:

EXZRANGEBYSCORE testkey 0#0#0 6#6#6 WITHSCORES
1) "b"
2) "1#0#2"
3) "a"
4) "3#2#4"

EXZREVRANGEBYSCORE

Kategori Ayrıntılar
Sözdizimi EXZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
Karmaşıklık O(log(N)+M); burada N üye sayısı, M ise döndürülen üye sayısıdır. M sabit olduğunda (ör. ilk 10 üyeyi her zaman döndürmek için LIMIT kullanıldığında) karmaşıklık O(log(N)) olur.
Açıklama min ile max arasında kalan puanlara sahip tüm üyeleri yüksekten düşüğe sıralı olarak döndürür. Aynı puana sahip üyeler ters sözcüksel sıraya göre dizilir. EXZRANGEBYSCORE ile benzerdir ancak ters sıradadır. Sözdiziminde max değerinin min değerinden önce geldiğine dikkat edin.

Seçenekler:

Seçenek Açıklama
max, min Maksimum ve minimum puanlar (argüman sırasının ters olduğuna dikkat edin). Çok boyutlu puanlar için ayırıcı olarak # kullanın. Puan sınırları bilinmiyorsa -inf ve +inf kullanın. Açık aralık için değerin önüne ( koyun.
WITHSCORES Yanıta puanları dahil eder.
LIMIT offset count Sonucu offset konumundan başlayarak count üyeyle sınırlar. Büyük bir offset değeri zaman karmaşıklığını artırır.

Return value: Puan aralığındaki üyelerin listesi; WITHSCORES belirtilirse puanlarla birlikte.

Örnek:

EXZREVRANGEBYSCORE testkey 6#6#6 0#0#0 WITHSCORES
1) "a"
2) "3#2#4"
3) "b"
4) "1#0#2"

EXZRANGEBYLEX

Kategori Ayrıntılar
Sözdizimi EXZRANGEBYLEX key min max [LIMIT offset count]
Karmaşıklık O(log(N)+M); burada N üye sayısı, M ise döndürülen üye sayısıdır. M sabit olduğunda karmaşıklık O(log(N)) olur.
Açıklama Adları min ile max arasında sözcüksel sıraya göre kalan üyeleri döndürür. Sonuçların öngörülebilir olması için anahtardaki tüm üyelerin aynı puana sahip olması gerekir.
Üyelerin farklı puanları varsa döndürülen küme tanımsızdır. Sözcüksel karşılaştırma, C memcmp() işlevini kullanarak baytları tek tek karşılaştırır. İki dize ortak bir öneki paylaşıyorsa daha uzun dize daha yüksek sırada yer alır.

Seçenekler:

Seçenek Açıklama
min, max Üye adı sınırları. Kapalı aralık için önüne [ (ör. [a), açık aralık için ( (ör. (a) koyun. Negatif sonsuzluk (en küçük dize) için -, pozitif sonsuzluk (en büyük dize) için + kullanın.
LIMIT offset count Sonucu offset konumundan başlayarak count üyeyle sınırlar. Büyük bir offset değeri zaman karmaşıklığını artırır.

Return value: Sözcüksel aralıktaki üyelerin listesi.

Örnek:

EXZRANGEBYLEX zzz [a [b
1) "aba"
2) "abc"

EXZREVRANGEBYLEX

Kategori Ayrıntılar
Sözdizimi EXZREVRANGEBYLEX key max min [LIMIT offset count]
Karmaşıklık O(log(N)+M); burada N üye sayısı, M ise döndürülen üye sayısıdır. M sabit olduğunda karmaşıklık O(log(N)) olur.
Açıklama max ile min arasındaki sözcüksel aralıktaki üyeleri ters sırada döndürür. EXZRANGEBYLEX ile aynıdır ancak terstir. Sözdiziminde max değerinin min değerinden önce geldiğine dikkat edin.

Seçenekler:

Seçenek Açıklama
max, min Üye adı sınırları (argüman sırasının ters olduğuna dikkat edin). Kapalı aralık için önüne [, açık aralık için ( koyun. Negatif ve pozitif sonsuzluk için - ve + kullanın.
LIMIT offset count Sonucu offset konumundan başlayarak count üyeyle sınırlar. Büyük bir offset değeri zaman karmaşıklığını artırır.

Return value: Sözcüksel aralıktaki üyelerin listesi, ters sırada.

Örnek:

EXZREVRANGEBYLEX zzz [b [a
1) "abc"
2) "aba"

EXZREM

Kategori Ayrıntılar
Sözdizimi EXZREM key member [member ...]
Karmaşıklık O(M\*log(N)); burada N üye sayısı, M ise kaldırılacak üye sayısıdır
Açıklama Belirtilen üyeleri bir TairZset anahtarından kaldırır. Var olmayan üyeler sessizce yoksayılır. Anahtar varsa ancak farklı bir veri türü tutuyorsa hata döndürür.

Dönüş değeri: Kaldırılan üye sayısı (var olmayan üyeler sayılmaz).

Örnek:

EXZREM testkey a
(integer) 1

EXZREMRANGEBYSCORE

Kategori Ayrıntılar
Sözdizimi EXZREMRANGEBYSCORE key min max
Karmaşıklık O(log(N)+M); burada N üye sayısı, M ise kaldırılan üye sayısıdır
Açıklama min ile max arasında kalan (dahil) puanlara sahip tüm üyeleri kaldırır.

Seçenekler:

Seçenek Açıklama
min, max Puan sınırları. Çok boyutlu puanlar için ayırıcı olarak # kullanın. Sınırlar bilinmiyorsa -inf ve +inf kullanın. Açık aralık için değerin önüne ( koyun; örneğin EXZREMRANGEBYSCORE key (1 5 1'den büyük ve en fazla 5 olan puanlara sahip üyeleri kaldırır.

Dönüş değeri: Kaldırılan üye sayısı.

Örnek:

EXZREMRANGEBYSCORE testkey 3#2#4 6#6#6
(integer) 1

EXZREMRANGEBYRANK

Kategori Ayrıntılar
Sözdizimi EXZREMRANGEBYRANK key start stop
Karmaşıklık O(log(N)+M); burada N üye sayısı, M ise kaldırılan üye sayısıdır
Açıklama start ile stop arasında kalan sıralara sahip tüm üyeleri kaldırır.

Seçenekler:

Seçenek Açıklama
start, stop Sıfır tabanlı sıra değerleri; 0 en düşük puanlı üyedir. Negatif değerler en yüksek puandan geriye doğru sayılır: -1 en yüksek puanlı üye, -2 en yüksekten sonraki üyedir.

Dönüş değeri: Kaldırılan üye sayısı.

Örnek:

EXZREMRANGEBYRANK testkey 0 1
(integer) 1

EXZREMRANGEBYLEX

Kategori Ayrıntılar
Sözdizimi EXZREMRANGEBYLEX key min max
Karmaşıklık O(log(N)+M); burada N üye sayısı, M ise kaldırılan üye sayısıdır
Açıklama Adları min ile max arasında sözcüksel sıraya göre kalan üyeleri kaldırır. Sonuçların öngörülebilir olması için tüm üyelerin aynı puana sahip olması gerekir. Aynı min ve max değerleriyle EXZRANGEBYLEX komutunun döndüreceği üyeleri kaldırır.

Seçenekler:

Seçenek Açıklama
min, max Üye adı sınırları. Kapalı aralık için önüne [, açık aralık için ( koyun.

Dönüş değeri: Kaldırılan üye sayısı.

Örnek:

EXZREMRANGEBYLEX testkey [a [b
(integer) 2

EXZCARD

Kategori Ayrıntılar
Sözdizimi EXZCARD key
Karmaşıklık O(1)
Açıklama Bir TairZset anahtarındaki üye sayısını döndürür. Anahtar yoksa 0 döndürür.

Dönüş değeri: Üye sayısı (tamsayı).

Örnek:

EXZCARD testkey
(integer) 2

EXZRANK

Kategori Ayrıntılar
Sözdizimi EXZRANK key member
Karmaşıklık O(log(N))
Açıklama Bir üyenin sırasını döndürür; en düşük puanlı üyeye 0 sırası atanır (artan sıra).

Dönüş değeri:

  • Üye varsa üyenin sırası (tamsayı)

  • Anahtar veya üye yoksa nil

Örnek:

EXZRANK testkey b
(integer) 0

EXZREVRANK

Kategori Ayrıntılar
Sözdizimi EXZREVRANK key member
Karmaşıklık O(log(N))
Açıklama Bir üyenin sırasını döndürür; en yüksek puanlı üyeye 0 sırası atanır (azalan sıra). EXZRANK ile aynıdır ancak ters sıradadır.

Dönüş değeri:

  • Üye varsa üyenin sırası (tamsayı)

  • Anahtar veya üye yoksa nil

Örnek:

EXZREVRANK testkey b
(integer) 1

EXZCOUNT

Kategori Ayrıntılar
Sözdizimi EXZCOUNT key min max
Karmaşıklık O(log(N)); burada N üye sayısıdır. İşlem, puan aralığının boyutuna değil, dizin düzeyinde taranan öğe sayısına orantılıdır.
Açıklama min ile max arasında kalan puanlara sahip üye sayısını döndürür.

Seçenekler:

Seçenek Açıklama
min, max Puan sınırları. Çok boyutlu puanlar için ayırıcı olarak # kullanın. Sınırsız sorgular için -inf ve +inf kullanın. Açık aralık için değerin önüne ( koyun; örneğin (1 5 1'den büyük ve en fazla 5 olan puanlara sahip üyeleri sayar.

Dönüş değeri: Puan aralığındaki üye sayısı (tamsayı).

Örnek:

EXZCOUNT testkey (1#0#2 6#6#6
(integer) 1

EXZLEXCOUNT

Kategori Ayrıntılar
Sözdizimi EXZLEXCOUNT key min max
Karmaşıklık O(log(N)); burada N üye sayısıdır. İşlem, dizin düzeyinde taranan öğe sayısına orantılıdır.
Açıklama Adları min ile max arasında sözcüksel sıraya göre kalan üye sayısını döndürür. Sonuçların öngörülebilir olması için tüm üyelerin aynı puana sahip olması gerekir.
Üyelerin farklı puanları varsa sonuç tanımsızdır. Sözcüksel karşılaştırma C memcmp() işlevini kullanır. İki dize ortak bir öneki paylaşıyorsa daha uzun dize daha yüksek sırada yer alır.

Seçenekler:

Seçenek Açıklama
min, max Üye adı sınırları. Kapalı aralık için önüne [, açık aralık için ( koyun.

Dönüş değeri: Sözcüksel aralıktaki üye sayısı (tamsayı).

Örnek:

EXZLEXCOUNT zzz [a [b
(integer) 2

EXZRANKBYSCORE

Kategori Ayrıntılar
Sözdizimi EXZRANKBYSCORE key score
Karmaşıklık O(log(N))
Açıklama Belirli bir puanın anahtarda düşükten yükseğe sıralandığında (0. sıra = en düşük puan) hangi sırayı işgal edeceğini döndürür. Puan yoksa tahmini sırasını döndürür. Puan zaten varsa sıra, yeni puanın mevcut olandan önce ekleneceği varsayılarak hesaplanır.

Dönüş değeri: Belirtilen puanın sırası (tamsayı).

Örnek:

EXZRANKBYSCORE testkey 2#0#2
(integer) 1

EXZREVRANKBYSCORE

Kategori Ayrıntılar
Sözdizimi EXZREVRANKBYSCORE key score
Karmaşıklık O(log(N))
Açıklama Belirli bir puanın anahtarda yüksekten düşüğe sıralandığında (0. sıra = en yüksek puan) hangi sırayı işgal edeceğini döndürür. Puan yoksa tahmini sırasını döndürür. Puan zaten varsa sıra, yeni puanın mevcut olandan sonra ekleneceği varsayılarak hesaplanır.

Dönüş değeri: Belirtilen puanın sırası (tamsayı).

Örnek:

EXZREVRANKBYSCORE testkey 2#0#2
(integer) 1

Sonraki adımlar