Memcached と Redis の比較 - Amazon ElastiCache

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Memcached と Redis の比較

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

重要

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

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

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

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

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

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

  • オブジェクトをキャッシュする必要がある。

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

  • Redis 用 ElastiCache バージョン 6.x(拡張)

    ロールベースのアクセスコントロールを使用して、ユーザーを認証する必要がある。

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

  • 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 ~ 250 のノードグループ間でデータを分割する必要がある (クラスターモードのみ)。

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

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

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

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

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

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

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

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

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

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

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

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

Memcached、Redis (クラスターモードが無効)、および Redis (クラスターモードが有効) の比較の概要
Memcached Redis (クラスターモードが無効) Redis (クラスターモードが有効)
エンジンバージョン 1.5.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 のバージョン」を参照してください。