Amazon ElastiCache for Redis と Memcached の違いを覚える方法
「機能 vs. シンプルさ」という視点で整理すると分かりやすいです。
2つに共通しているのはデータベースのパフォーマンスを向上させるキャッシングサービス。
覚え方
1. Redis
- 
Redisは多くの機能を持ち、データ管理以外のことも可能
 - 
特徴的なポイント:
- データ構造の豊富さ: リスト、セット、ソート済みセット、ハッシュなど様々なデータ型に対応
 - 永続性のサポート: データをディスクに保存する仕組みがあり、再起動後もデータを保持可能
 - スクリプト実行: Luaスクリプトをサポートし、複雑な処理をキャッシュ内で実行可能
 - Pub/Sub機能: メッセージキューのような使い方も可能
 
 - 
用途の例:
- セッション管理
 - ランキングの計算
 - 分析データのキャッシュや永続的なデータストア
 
 
2. Memcached
- 
Memcachedはキャッシュとしてシンプルなデザインで、高速性に特化
 - 
特徴的なポイント:
- シンプルなキー/バリュー型のキャッシュ: 複雑なデータ型はサポートしない
 - 永続性なし: 再起動後にデータは消える
 - スレッド対応: マルチスレッドに対応しており、高い並列処理が得意
 
 - 
用途の例:
- Webアプリケーションのページキャッシュ
 - 一時的なデータキャッシュ(DBの負荷軽減)
 
 
簡単な違いの比較表
| No | 比較項目 | Redis | Memcached | 
|---|---|---|---|
| 1 | データ型 | 多彩なデータ型をサポート | キー/バリュー型のみ | 
| 2 | 永続性 | あり | なし | 
| 3 | メッセージング機能 | Pub/Subやストリームなどが可能 | なし | 
| 4 | スクリプト実行 | Luaスクリプトで複雑な処理が可能 | なし | 
| 5 | マルチスレッド対応 | 非対応 | 対応 | 
| 6 | 主な用途 | セッション管理、ランキング処理など | シンプルなキャッシュ | 
具体的なイメージ例
- 
Redisを選ぶ時:
- 「分析やランキング計算もしたい、そして一部のデータは永続化したい」という時。
 
 - 
Memcachedを選ぶ時:
- 「単純に、よく使うデータを高速にキャッシュしたいだけ」という時。