Redis 用 Amazon ElastiCache
Redis 用 ElastiCache ユーザーガイド (API バージョン 2015-02-02)

Memcached と Redis の比較

Amazon ElastiCache では、Memcached と Redis のキャッシュエンジンがサポートされます。各エンジンにはいくつかのメリットがあります。このトピックの情報を参考にして、要件を満たす最適なエンジンとバージョンを選択してください。

重要

キャッシュクラスターまたはレプリケーショングループの作成後、より新しいエンジンバージョンにアップグレードできますが、以前のエンジンバージョンにダウングレードすることはできません。以前のエンジンバージョンを使用する場合は、既存のキャッシュクラスターまたはレプリケーショングループを削除し、それを以前のエンジンバージョンでもう一度作成する必要があります。

見かけ上エンジンは似ています。それぞれのエンジンは、インメモリキー/値ストアです。ただし、実際には大きな違いがあります。

以下がお客様の状況に当てはまる場合は、Memcached を選択します。

  • できるだけシンプルなモデルが必要である。

  • 複数のコアまたはスレッドを持つ大きなノードを実行する必要がある。

  • システムでの需要の増減に応じてノードを追加または削除するスケールアウトおよびスケールイン機能が必要である。

  • データベースなどのオブジェクトをキャッシュする必要がある。

以下の状況が当てはまる場合は、Redis を Redis 用 ElastiCache のバージョンと共に選択します。

  • Redis 用 ElastiCache バージョン 5.0.0 (拡張)

    プロデューサーが新しいアイテムをリアルタイムで追加できるようにし、コンシューマーがブロッキングまたはノンブロッキングの方法でメッセージを使用できるようにもするログデータ構造である Redis ストリームを使用します。

    詳細については、「Redis バージョン 5.0.0 (拡張)」を参照してください。

  • Redis 用 ElastiCache バージョン 4.0.10 (拡張)

    暗号化および Redis (クラスターモードが有効) クラスターからのシャードの動的な追加または削除をサポートします。

    詳細については、「Redis バージョン 4.0.10 (拡張)」を参照してください。

  • Redis 用 ElastiCache バージョン 3.2.10 (拡張)

    Redis (クラスターモードが有効) クラスターからシャードを動的に追加または削除する機能をサポートします。

    重要

    現在、Redis 用 ElastiCache 3.2.10 は暗号化をサポートしていません。

    詳細については、以下を参照してください。

  • Redis 用 ElastiCache バージョン 3.2.6 (拡張)

    以前のバージョンの Redis の機能に加え、以下の機能が必要な場合は、Redis 用 ElastiCache 3.2.6 を選択します。

  • Redis 用 ElastiCache (クラスターモードが有効) バージョン 3.2.4

    Redis 2.8.x の機能に加え、以下の機能が必要な場合は、Redis 3.2.4 (クラスターモード) を選択します。

    • 2 ~ 90 のノードグループ間でデータを分割する必要がある (クラスターモードのみ)。

    • 地理空間インデックス作成 (クラスターモードまたは非クラスターモード) が必要。

    • 複数のデータベースをサポートする必要がない。

    重要

    Redis (クラスターモードが有効) には次の制約事項があります。

    • 大きなノードタイプに拡張しない

    • ノードグループ (パーティション) のレプリカの数の変更なし

  • Redis 用 ElastiCache (非クラスターモード) 2.8x および 3.2.4 (拡張)

    以下がお客様の状況に当てはまる場合は、Redis 2.8.x または Redis 3.2.4 (非クラスターモード) を選択します。

    • 文字列、ハッシュ、リスト、セット、ストアドセット、ビットマップなど、複雑なデータ型が必要である。

    • インメモリデータセットをソートまたはランク付けする必要がある。

    • キーストアの永続性が必要である。

    • 読み取り量が多いアプリケーションのために、プライマリからのデータを 1 つ以上のリードレプリカにレプリケートする必要がある。

    • プライマリノードが失敗した場合に、自動的なフェイルオーバーが必要である。

    • 発行とサブスクライブ (pub/sub) 機能が必要 — クライアントにサーバー上のイベントを通知する必要がある。

    • バックアップと復元の機能が必要である。

    • 複数のデータベースをサポートする必要がある。

Memcached、Redis (クラスターモードが無効)、および Redis (クラスターモードが有効) の比較の概要

Memcached Redis (クラスターモードが無効) Redis (クラスターモードが有効)
エンジンバージョン 1.4.x 2.8.x 以降 3.2.x 以降
データ型 シンプル ‡ 2.8.x - 混在 * 3.2.x 以降 - 複雑
複雑
データのパーティション化 あり いいえ あり
クラスターが変更可能 あり あり 3.2.10 以降 - 限定
オンラインリシャーディング なし なし 3.2.10 以降
暗号化 なし 3.2.6、4.0.10 以降 3.2.6、4.0.10 以降
コンプライアンス認定
コンプライアンス認定

    FedRAMP

    HIPAA

    PCI DSS

 

なし

いいえ

いいえ

 

3.2.6、4.0.10 以降

3.2.6、4.0.10 以降

3.2.6、4.0.10 以降

 

3.2.6、4.0.10 以降

3.2.6、4.0.10 以降

3.2.6、4.0.10 以降

マルチスレッド あり いいえ なし
ノードタイプのアップグレード なし はい なし
エンジンのアップグレード はい はい あり
高可用性 (レプリケーション) なし はい あり
自動フェイルオーバー なし オプション 必須
パブリック/サブ機能 なし はい あり
ソートされたセット なし はい あり
バックアップと復元 なし はい あり
地理空間インデックス作成 なし 2.8.x - いいえ あり
3.2.x 以降 - あり
注:
‡文字列、オブジェクト (データベースなど)
*文字列セット、並べ替えられたセット、リスト、ハッシュ、ビットマップ、Hyperloglog
‡文字列、セット、ソートされたセット、リスト、ハッシュ、ビットマップ、hyperloglog、地理空間インデックス

クラスターのエンジンを選択した後は、そのエンジンの最新バージョンを使用することをお勧めします。詳細については、「サポートされる ElastiCache for Memcached のバージョン」または「サポートされる Redis 用 ElastiCache のバージョン」を参照してください。