すべてのプロダクト
Search
ドキュメントセンター

Tair (Redis® OSS-Compatible):Tair の拡張データ構造

最終更新日:Nov 09, 2025

Tair (Redis OSS-compatible) は、String、List、Hash、Set、Sorted Set、Stream など、オープンソース Redis の基本的なデータ構造をサポートしています。これらのデータ構造は、ほとんどの開発ワークロードには十分ですが、複雑なワークロードには対応できません。複雑なワークロードを管理するには、大量のコードを記述するか、Lua スクリプトなどの複雑なアプローチを使用する必要があります。Tair (Enterprise Edition) は、Alibaba Cloud が自社開発した複数のデータ構造を統合しています。たとえば、exString (Redis 文字列機能を強化するコマンドを含む)、exHashexZsetGISBloomDocTSCpcRoaringSearchVector などです。これらのデータ構造により、Tair (Enterprise Edition) はより多くのシナリオをサポートし、アプリケーション開発を簡素化し、ビジネスコードを合理化できます。これにより、サービスパフォーマンスが向上し、ビジネスイノベーションに集中できます。

説明

Tair の拡張データ構造と Redis Stack のモジュール

次の表に、Tair に統合されたデータ構造と、Redis Stack Server モジュールとの比較を示します。

データ型

Tair 拡張データ構造

Redis Stack Server

説明

文字列の機能強化

N/A

  • exString は、バージョン番号を含む文字列型のデータ構造です。exString は、INCRBY および INCRBYFLOAT コマンドによって返される出力の範囲を制限するために使用できます。これらのコマンドは、Redis 文字列の値を増減するために使用されます。出力が指定された範囲外になると、これらのコマンドはエラーメッセージを返します。このデータ構造はオープンソースです。詳細については、「TairString」をご参照ください。

  • CAS および CAD コマンドを使用して、シンプルで効率的なパフォーマンス専有型の分散ロックを実装できます。

ベストプラクティス: TairString を使用してパフォーマンス専有型のオプティミスティックロックを実装するTairString を使用して有界カウンターを実装する

ハッシュ

exHash

N/A

TairHash は、フィールドの有効期限とバージョン番号を指定できるデータ構造です。TairHash はより柔軟に使用でき、ほとんどのシナリオでアプリケーション開発を簡素化します。このデータ構造はオープンソースです。詳細については、「TairHash」をご参照ください。

ベストプラクティス: TairHash を使用して単一ユーザーからの複数デバイスログインを管理する

Zset

exZset

N/A

TairZset を使用すると、Double 型のスコアを 256 のディメンションに関してソートできます。TairZset を使用して、汎用リーダーボードと多次元リーダーボードを実装できます。このデータ構造はオープンソースです。詳細については、「TairZset」をご参照ください。

ベストプラクティス: TairZset を使用して多次元リーダーボードを実装するTairZset を使用して分散リーダーボードを実装する

GeoSpatial

GIS

N/A

TairGIS は、R 木インデックスを使用し、地理情報システム (GIS) に関連する API をサポートするデータ構造です。TairGIS を使用して、点、線、ポリゴンをクエリできます。TairGIS を使用して、A が B を含むか、A が B に含まれるか、または A が B と交差するかどうかを確認できます。このデータ構造はオープンソースです。詳細については、「TairGIS」をご参照ください。

ベストプラクティス: TairGIS を使用してデジタルフェンスを実装するTairGIS を使用してローカル購入サービスを実装する

Doc (JSON)

Doc

RedisJSON

RedisJSON と同様に、TairDoc は JSON 標準をサポートし、ドキュメントタイプのデータを格納するデータ構造です。TairDoc データはバイナリツリーとして格納され、JSON オブジェクトの子要素にすばやくアクセスできます。

検索

Search

RediSearch

TairSearch は Elasticsearch と同様の構文を使用しますが、より多くのより優れたトークナイザーを提供してクエリパフォーマンスを向上させます。

TimeSeries

TS

RedisTimeSeries

RedisTimeSeries と比較して、TairTS はタグの機能を拡張します。TairTS では、タイムラインでの集約クエリをサポートするために、追加のハッシュレイヤーが追加されています。TairTS を使用して、過去の時系列データを更新または追加することもできます。

ベストプラクティス: TairTS を使用して高精度監視を実装する

スケッチ

Bloom

RedisBloom

TairBloom は RedisBloom と互換性があり、動的スケーリングをサポートし、64 ビットのハッシュアルゴリズムを提供して、大量のデータの衝突の可能性を大幅に低減します。

ベストプラクティス: 推奨システムとクローラーシステム。詳細については、「Bloom」および「Bloom フィルターを使用してゲームイベントのプッシュ通知を管理する」をご参照ください。

Cpc

N/A

TairCpc は、圧縮確率カウンティング (CPC) スケッチに基づいて開発されたデータ構造です。これにより、少量のメモリでサンプリングされたデータに対してパフォーマンス専有型のコンピューティングを実行できます。TairCpc は、タンブリングウィンドウとスライドウィンドウをサポートして、データストリーミングをより適切に促進します。また、DISTINCTCOUNTMAXMINFIRSTLASTSQUARED など、ビッグデータ分析で使用される一般的な集約オペレーターもサポートしています。

ビットマップ

Roaring

N/A

TairRoaring は、高い安定性を提供する効率的なコンピューティングモジュールです。複数のビットマップに対する操作をサポートし、パフォーマンスとスペース効率を向上させます。

ベストプラクティス: TairRoaring を使用してユーザーを選択する

ベクター

Vector

Redis Search (Vector Similarity)

TairVector は、ベクターのパフォーマンス専有型のリアルタイムストレージと取得を提供する Tair の自社開発データ構造です。

ベストプラクティス:

Tair Enterprise Edition クライアント

Tair 拡張データ構造をより便利にご利用いただけるように、Tair (Redis OSS-compatible) はいくつかの Redis クライアントをベースに Tair クライアントを開発しました。Tair クライアントを通じて Tair 拡張データ構造を直接呼び出すことができます。

GitHub から次のクライアントを入手し、そのサンプルコードを参照できます。

Tair クライアント

プログラミング言語

説明

TairJedis

Java

Jedis に基づいて開発された Tair クライアント。

AlibabaCloud.TairSDK

.NET

.NET Core 5.0 および StackExchange.Redis 2.5.61 に基づいて開発された Tair クライアント。

Tair-go

Go

go-redis に基づいて開発された Tair クライアント。

Tair-py

Python

redis-py に基づいて開発された Tair クライアント。

よくある質問

  • Q: Tair (Redis OSS-compatible) は Redis Stack Server をサポートしていますか?

    A: Redis のオープンソースライセンスによる制限のため、Community EditionTair (Enterprise Edition) は Redis Stack Server をサポートしていません。

    この制限を回避するために、Tair (Enterprise Edition) は、exString (Redis 文字列機能を強化するコマンドを含む)、exHashexZsetGISBloomDocTSCpcRoaringSearchVector を含む自社開発の拡張データ構造を提供しています。Redis Stack Server と比較して、Tair (Enterprise Edition) はより広範なデータ構造をサポートし、特定のデータ構造で優れたパフォーマンスを発揮します。

  • Q: Tair 拡張データ構造の生存時間 (TTL) を設定するにはどうすればよいですか?

    A: exString、exHash、Cpc の場合、TTL はそれぞれのコマンドを使用して直接設定できます。他の Tair 拡張データ構造については、EXPIRE | EXPIREAT <Keyname> コマンドを使用してキーの TTL を設定できます。たとえば、EXPIRE foo 60 を使用して、キー "foo" の TTL を 60 秒に設定できます。