MemcachedとRedisの選定の仕方
Memcachedにしようか、Redisにしようか悩んだ場合の選定の仕方
Memcached
- 単純なモデルを必要としている
- 比較的小さく静的なデータを保存するとか
- 複数のコアまたはスレッドで大規模なノードを実行する
- スケールイン/アウト、ノードの追加/削除を行いたい
- データベースなどのオブジェクトをキャッシュする必要がある
Redis
- 複雑なデータ型を必要としている
- 文字列、ハッシュ、リスト、セット、ソート済みのセット、ビットマップとか
- メモリ内のデータセットを並べ替えたりランク付けしたりする要件がある
- キーストアの永続性が必要な要件がある
- 読み取りを多用するアプリケーションでは、データをプライマリからリードレプリカに複製する必要がある
- プライマリノードに障害が発生した場合は自動フェイルオーバーが必要
- サーバ上のイベントをクライアントに通知するためにpub/sub機能が必要である
- バックアップと復元の機能が欲しい
- 複数のデータベースをサポートする必要がある