データベース ・
ElastiCache Memcached とは?シンプル KV キャッシュの使いどころ
ElastiCache Memcached は AWS マネージドの Memcached サービス。シンプルな KV キャッシュ専用で、Redis と違い 永続化・レプリ・PubSub なし。マルチスレッド対応で 大量シンプルアクセスに強い。現在は Redis 採用が多く、...
AWS マネージドの Memcached。シンプルな KV キャッシュ専用、永続化・レプリなし。
1. 概要(端的に)
ElastiCache Memcached は AWS マネージドの Memcached サービス。シンプルな KV キャッシュ専用で、Redis と違い 永続化・レプリ・PubSub なし。マルチスレッド対応で 大量シンプルアクセスに強い。現在は Redis 採用が多く、Memcached の選択は限定的。
2. 何ができるか
- シンプル KV キャッシュ:Get / Set / Delete のみ
- マルチスレッド:CPU を効率活用
- 水平拡張:ノード追加で容量増
- オートディスカバリー:クライアントがノード自動検出
制限
- 永続化なし(ノード障害でデータ消失)
- レプリケーションなし
- 複雑なデータ構造なし(KV のみ)
- マルチ AZ 自動フェイルオーバーなし
3. 特徴
| 観点 | 特徴 |
|---|---|
| 追加料金 | ノードタイプ × 時間 |
| 遅延 | サブミリ秒 |
| データ構造 | KV のみ |
| クラスター | あり(シャーディング) |
| マルチスレッド | ○(Redis は単一スレッド) |
| 永続化 | なし |
vs Redis
| 観点 | Memcached | Redis |
|---|---|---|
| データ構造 | KV のみ | 豊富 |
| 永続化 | × | ○ |
| レプリ | × | ○ |
| マルチスレッド | ○ | × |
| 用途 | シンプルキャッシュ | 多機能・複雑 |
4. 仕組み
Memcached は 完全揮発性のインメモリ KV ストア。シンプルさと速度に特化。
構成
- ノード:単一 EC2 上の Memcached プロセス
- クラスター:複数ノードでシャーディング
- オートディスカバリー:クライアントがノードリストを自動取得
動作の流れ
- クライアントがオートディスカバリーエンドポイントへ
- ノードリストを取得
- キーをハッシュしてシャード決定
- 該当ノードへ Get/Set
5. ユースケース
ユースケース 1:セッションキャッシュ(永続化不要)
セッション消失が許容できる場合。
ユースケース 2:DB クエリキャッシュ
シンプルな結果キャッシュ。
ユースケース 3:API レスポンスキャッシュ
JSON レスポンスのキャッシュ。
ユースケース 4:レガシーアプリの Memcached 移行
オンプレ Memcached をそのまま AWS へ。
→ 新規構築では Redis を選ぶケースが多い。
6. 関連用語
- ElastiCache-Redis — 高機能版
- DAX — DynamoDB 専用キャッシュ
- DynamoDB — 高速 KVS の代替
7. 関連サイト
AWS 公式
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 中 | キャッシュサービスの種類 |
| SAA | 中 | Memcached vs Redis の使い分け |
| DVA | 中 | アプリでの Memcached 利用 |
| SOA | 中 | 出題標準 |