実際にはユースケースによって異なります
次の要件がある場合は、Memcachedを選択してください:
- 可能な限りシンプルなモデルが必要です。
- 複数のコアまたはスレッドを備えた大規模なノードを実行する必要があります。
- スケールアウト/スケールインする機能が必要です
- システムの需要が増減するにつれて、ノードを追加および削除します。
- データを複数のシャードに分割したい。
- データベースなどのオブジェクトをキャッシュする必要があります。
次の要件がある場合は、Redisを選択してください:
- 文字列、ハッシュ、リスト、セットなどの複雑なデータ型が必要です。
- メモリ内のデータセットを並べ替えるかランク付けする必要があります。
- キーストアの永続性が必要です。
- 読み取りが集中するアプリケーションのために、プライマリから1つ以上の読み取りレプリカにデータを複製する必要があります。
- プライマリノードに障害が発生した場合は、自動フェイルオーバーが必要です。
- パブリッシュおよびサブスクライブ(pub / sub)機能が必要です。サーバー上のイベントについてクライアントに通知します。
- バックアップと復元の機能が必要です。
これはawsによる興味深い記事ですhttps://d0.awsstatic.com/whitepapers/performance-at-scale-with-amazon-elasticache.pdf