| シリアルナンバー | プロジェクトを比較する | アパッチ・イグナイト | レディス |
| 1 | JCache(JSR 107) | IgniteはJCache(JSR107)キャッシュ仕様と完全に互換性があります | サポートされていません |
| 2 | ACIDトランザクション | Igniteは楽観的および悲観的な並行性モデル、さらにREAD_COMMITTED、REPEATABLE_READ、シリアライズ可能な分離レベルを含むACIDトランザクションを完全にサポートしています。 | Redisはクライアント側の楽観トランザクションに対して限定的なサポートを提供しており、同時更新の場合にクライアントが手動でトランザクションを再試行する必要があります。 |
| 3 | データ分割 | Igniteは分散ハッシュに似たパーティション付きキャッシュをサポートしており、クラスタ内の各ノードがデータの一部を保存し、トポロジー変更時に自動的にデータのリバランスを行います。 | Redisはパーティションを提供していませんが、レプリカのシャーディングは提供しており、これは非常に厳格で、トポロジーが変わるたびにクライアントとサーバーの両方で複雑な手動ステップを踏む必要があります。 |
| 4 | 全文 | Igniteはクラスタ内のすべてのノードのキー・値ペアでサポートされるキャッシュレプリケーションをサポートしています。 | Redisは完全なレプリケーションの直接的なサポートを提供していません。 |
| 5 | ネイティブオブジェクト | Igniteはユーザーが自分のドメインオブジェクトモデルを使用できるようにし、任意のJava/Scala、C++、.NET/C#のデータ型(オブジェクト)をネイティブサポートしているため、ユーザーはIgniteキャッシュに任意のプログラムやドメインオブジェクトを簡単に保存できます。 | Redisはユーザーがカスタムデータ型を使用することを許可しておらず、Set、List、Arrayなどの基本的なデータ構造のあらかじめ定義されたコレクションのみをサポートしています。 |
| 6 | クライアント側(近接)キャッシュ | Igniteは、最近アクセスしたデータのクライアント側キャッシュを直接サポートします。 | サポートされていません |
| 7 | (サーバー側)対比 | Igniteは、Java、C++、.NET/C#コードをサーバー側のデータに近い形で直接実行することをサポートしています。 | Redisは通常、コロケーション機能を持っておらず、サーバー側は基本的にLUAスクリプト言語のみをサポートし、サーバー側はJava、.NET、C++のコード実行を直接サポートしていません。 |
| 8 | SQLクエリ | Igniteはメモリ内のデータをクエリするための完全なSQL構文(ANSI-99)をサポートしています。 | Redisはクエリ言語を一切サポートしておらず、クライアント側のキャッシュAPIのみをサポートしています。 |
| 9 | 継続的な探求 | Igniteはクライアント側およびサーバー側の永続クエリの両方をサポートしており、ユーザーはサーバー側のフィルターを設定してクライアントに送信されるイベント数を減らすことができます。 | Redisはクライアント側のキーベースのイベント通知をサポートしていますが、サーバー側のフィルターは提供しておらず、その結果、クライアント側とサーバー側の両方で通知の更新にかかるネットワークトラフィックが大幅に増加します。 |
| 10 | データベース統合 | Igniteは外部データベース(RDBMS、NoSQL、HDFS)を自動的に統合できます。 | Redisは外部データベースと統合できません。 |