Memcached と Redis の比較 - Amazon ElastiCache for Redis

Memcached と Redis の比較

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

重要

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

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

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

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

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

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

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

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

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

    ロールベースのアクセスコントロールを使用してユーザーを認証します。

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

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

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

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

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

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

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

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

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

    重要

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Memcached、Redis (クラスターモードが無効)、Redis (クラスターモードが有効) の比較の概要
Memcached Redis (クラスターモードが無効) Redis (クラスターモードが有効)
Engine versions 1.5.x 2.8.x and later 3.2.x and later
Data types Simple ‡ 2.8.x - Complex * 3.2.x and later - Complex †
Complex †
Data partitioning Yes No Yes
Cluster is modifiable Yes Yes 3.2.10 and later - Limited
Online resharding No No 3.2.10 and later
Encryption No 3.2.6, 4.0.10 and later 3.2.6, 4.0.10 and later
コンプライアンス認定
Compliance Certification

    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 以降

Multi-threaded Yes No No
Node type upgrade No Yes Yes
Engine upgrading Yes Yes Yes
High availability (replication) No Yes Yes
Automatic failover No Optional Required
Pub/Sub capabilities No Yes Yes
Sorted sets No Yes Yes
Backup and restore No Yes Yes
Geospatial indexing No 2.8.x - No Yes
3.2.x and later - Yes
メモ:
‡ string, objects (like databases)
* string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog
† string, sets, sorted sets, lists, hashes, bitmaps, hyperloglog, geospatial indexes

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