Memcachedとは?
めむきゃっしゅど
Memcachedとは、データをメモリ上に一時保存してデータベースへのアクセスを減らし、Webアプリケーションを高速化するための分散メモリキャッシュシステムです。
Memcachedは、高性能な分散メモリキャッシュシステムです。もともとLiveJournalのブラッド・フィッツパトリック氏が開発し、現在はオープンソースとして広く利用されています。シンプルなキーバリュー型のインメモリストアとして動作し、データベースクエリの結果・セッション情報・HTMLフラグメントなどをメモリにキャッシュすることでバックエンドの負荷を大幅に削減します。
Memcachedのアーキテクチャは極めてシンプルです。複数のMemcachedサーバーが独立して動作し(サーバー間通信なし)、クライアントライブラリがキーのハッシュ値を使ってどのサーバーにアクセスするかを決定します。このシェアードナッシングアーキテクチャにより、サーバーを追加するだけで線形にキャパシティを拡張できます。
Memcachedの主な特徴は以下のとおりです。
- サブミリ秒での読み書きが可能な極めて高速なレスポンス
- TTL(有効期限)付きの自動データ失効
- LRU(最近最も使われていない)ポリシーによるメモリ管理
- 保存できるデータ型はシンプルな文字列のみ
類似ツールにRedisがありますが、Redisがリスト・セット・ハッシュなど多様なデータ構造や永続化機能を持つのに対し、Memcachedはより軽量・シンプルに徹しています。単純なキャッシュ用途であればMemcachedの方がオーバーヘッドが少ない場面もあります。
使い方・例文
ECサイトで商品一覧のDBクエリ結果をMemcachedにキャッシュしておくと、同じリクエストが来たときにデータベースへのクエリが省略され、ページの表示速度が大幅に向上します。
この用語をシェア
最終更新: