Açık kaynaklı Redis gibi, Tair (Redis OSS-compatible) da String, List, Hash, Set, Sorted Set ve Stream gibi standart veri türlerini destekler. Bu türler birçok kullanım durumu için yeterli olsa da kapsamlı özel kodlar veya karmaşık Lua betikleri gerektiren karmaşık iş senaryolarında yetersiz kalabilir. Bu sorunu çözmek için Tair (Enterprise Edition) tescilli veri yapılarından oluşan bir paketi entegre eder. Bu yapılar arasında exString (bu yapı Redis String komut geliştirmesini içerir), exHash, exZset, GIS, TairBloom, Doc, TS, Cpc, Roaring, TairSearch ve Vector yer alır. Bu yapılar Redis'in yeteneklerini genişleterek gelişmiş uygulamalar için geliştirme karmaşıklığını azaltır, kodlarınızı sadeleştirir ve genel iş performansını iyileştirerek inovasyona odaklanmanızı sağlar.
Redis 7.0 veya 6,0 ile uyumlu DRAM tabanlı örnekler yukarıda belirtilen tüm veri yapılarını destekler.
Redis 5.0 ile uyumlu DRAM tabanlı örnekler TairVector dışındaki tüm yukarıdaki veri yapılarını destekler.
Kalıcı bellek optimizasyonlu örnekler şu yapılarla uyumludur: exString (buna Redis string işlevselliğini geliştiren komutlar dahildir), exHash ve Cpc.
Tair genişletilmiş veri yapıları ve Redis Stack modülleri
Aşağıdaki tabloda Tair içinde entegre edilen veri yapıları açıklanmış ve bunların özellikleri Redis Stack Server ile karşılaştırılmıştır.
Tür | Tair genişletilmiş veri yapısı | Açıklama | |
String geliştirmesi | Yok |
En iyi uygulamalar: TairString kullanarak yüksek performanslı iyimser kilitleme uygulama ve TairString kullanarak verimli bir hız sınırlayıcı uygulama. | |
Hash geliştirmesi | Yok | exHash, bir hash içindeki tekil alanlar için yaşam süresi (TTL) ve sürüm ayarlamanıza olanak tanır. Bu durum Hash veri yapısının esnekliğini artırır ve birçok kullanım durumunda geliştirmeyi basitleştirir. Bu veri yapısı açık kaynaktır. Daha fazla bilgi için bkz. TairHash. En iyi uygulama: TairHash kullanarak çok cihazlı kullanıcı oturum açma yönetimi. | |
Zset geliştirmesi | Yok | exZset, 256 boyutta double türündeki puanların sıralanmasını destekleyerek hem standart hem de çok boyutlu lider tablolarına olanak tanır. Bu veri yapısı açık kaynaktır. Daha fazla bilgi için bkz. TairZset. En iyi uygulamalar: exZset kullanarak çok boyutlu lider tablolarını kolayca uygulama ve exZset kullanarak dağıtılmış lider tabloları uygulama. | |
Coğrafi konum | Yok | TairGIS, indeksleme için R-tree kullanan ve coğrafi bilgi sistemleri (GIS) API'lerini destekleyen bir veri yapısıdır. Noktalar, çizgi dizileri ve çokgenler için sorguları; contains, within ve intersects gibi ilişki kontrollerini destekler. Bu veri yapısı açık kaynaktır. Daha fazla bilgi için bkz. TairGIS. En iyi uygulamalar: TairGIS kullanarak coğrafi çitleme uygulama ve TairGIS kullanarak yerel alışveriş hizmeti uygulama. | |
Doc (JSON) | RedisJSON | TairDoc, RedisJSON modülüne benzer şekilde JSON standardını destekleyen bir belge tipi veri yapısıdır. TairDoc verileri ikili ağaç biçiminde depolayarak JSON nesnesi içindeki alt öğelere hızlı erişim sağlar. | |
Arama | RediSearch | TairSearch, Elasticsearch benzeri (ES benzeri) bir sorgu sözdizimi, daha geniş bir doğru belirteç yelpazesi ve üstün sorgu performansı sunar. | |
Zaman serisi | RedisTimeSeries | TairTS, RedisTimeSeries'e kıyasla daha yüksek etiket ölçeklenebilirliği sunar. skeys (etiketler) tabanlı zaman çizelgeleri için iki seviyeli hash yapısını destekler, ikincil zaman çizelgesinde toplu sorgulara olanak tanır ve geçmiş zaman serilerine veri eklemenizi veya güncellemenizi sağlar. En iyi uygulama: TairTS kullanarak saniye düzeyinde izleme uygulama. | |
Sketches | RedisBloom | TairBloom, RedisBloom ile uyumludur ve dinamik ölçeklendirmeyi destekler. Hash çarpışmalarını azaltmak için 64 bitlik bir hash algoritması kullanır; bu sayede büyük veri kümeleri için çarpışma oranı önemli ölçüde düşer. En iyi uygulamalar: Öneri sistemleri ve örümcek sistemleri için idealdir. Daha fazla bilgi için bkz. TairBloom ve Bloom filtresi kullanarak oyun etkinliği push bildirimlerini verimli yönetme. | |
Yok | TairCpc, Sıkıştırılmış Olasılık Sayımı (CPC) sketch algoritmasına dayalı olarak geliştirilen bir veri yapısıdır. Minimum bellek kullanarak örnekleme veriler üzerinde yüksek performanslı hesaplamalar gerçekleştirir. TairCpc, daha iyi akış işlemeye olanak tanımak için hem yuvarlanan hem de kayan pencereleri destekler ve büyük veri analizlerinde kullanılan | ||
Bitmap | Yok | TairRoaring, verimli ve son derece kararlı bir hesaplama modülü sunar. Birden fazla bitmap üzerinde işlemleri destekleyerek performansı ve alan verimliliğini artırır. En iyi uygulama: TairRoaring kullanarak kullanıcı kohort seçimi uygulama. | |
vektör arama | Redis Search (Vektör Benzerliği) | TairVector, Tair tarafından geliştirilen tescilli bir genişletilmiş veri yapısıdır. Depolama ve getirmeyi entegre eden yüksek performanslı, gerçek zamanlı bir vektör veritabanı hizmeti sunar. En iyi uygulamalar: |
Tair (Enterprise Edition) istemcileri
Tair genişletilmiş veri yapılarının kullanımını basitleştirmek için Tair popüler birkaç Redis istemcisine dayalı Tair istemcileri geliştirmiştir. Bu Tair istemcilerini kullanarak Tair genişletilmiş veri yapılarına doğrudan erişebilirsiniz.
Aşağıdaki istemcilere GitHub üzerinden ulaşabilirsiniz. Depolarda örnek kodlar da mevcuttur.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SSS
-
S: Tair (Redis OSS-compatible) Redis Stack Server'ı destekliyor mu?
C: Redis'in açık kaynak lisans kısıtlamaları nedeniyle Alibaba Cloud'un Redis Açık Kaynak Sürümü ve Tair (Enterprise Edition) Redis Stack Server'ı desteklemez.
Bu sorunu çözmek için Tair (Enterprise Edition) kendi tescilli genişletilmiş veri yapılarını sunar. Bu yapılar arasında exString (bu yapı Redis String komut geliştirmesini içerir), exHash, exZset, GIS, TairBloom, Doc, TS, Cpc, Roaring, TairSearch ve Vector yer alır. Tair, Redis Stack Server'a kıyasla daha geniş bir veri yapısı yelpazesi destekler ve bazıları için daha iyi performans sunar.
-
S: Tair genişletilmiş veri yapıları için yaşam süresi (TTL) nasıl ayarlanır?
C: exString, exHash ve Cpc için TTL'yi doğrudan kendi özel komutlarıyla ayarlayabilirsiniz. Diğer Tair genişletilmiş veri yapıları için anahtarın TTL'sini EXPIRE | EXPIREAT <AnahtarAdı> komutuyla ayarlayın; örneğin
EXPIRE foo 60. -
S: Örneğimin hangi genişletilmiş veri yapılarını desteklediğini nasıl kontrol edebilirim?
C: Desteklenen genişletilmiş veri yapıları örnek Product Type ve Instance Type değerlerine bağlıdır. Tair konsolunda oturum açın ve Örnek Ayrıntıları sayfasına giderek örneğinizin Product Type (Community Edition veya Enhanced Edition (Tair)) ve Instance Type (bellek optimizasyonlu/kalıcı bellek optimizasyonlu/depolama optimizasyonlu) değerlerini kontrol edin, ardından aşağıdaki açıklamaya göre desteklenen aralığı onaylayın:
Redis Açık Kaynak Sürümü: Yalnızca standart Redis komutlarını destekler ve Tair genişletilmiş veri yapılarını desteklemez.
bellek içi tür: Destek Redis uyumluluk sürümüne göre değişir. Redis 7.0 ve 6,0 ile uyumlu örnekler tüm Tair genişletilmiş veri yapılarını desteklerken Redis 5.0 ile uyumlu örnekler Vector'ü desteklemez.
kalıcı bellek türü: Yalnızca exString (Redis String komut geliştirmesi dahil), exHash ve Cpc yapılarını destekler.
disk tabanlı tür: Tair genişletilmiş veri yapılarını desteklemez.