
Memcachedは2003年、Brad FitzpatrickがLiveJournalの高速化のために開発したインメモリKey-Valueストアです。「メモリに置くだけ、ディスクに永続化しない、機能はシンプル」という割り切った設計で、Webサービスのキャッシュ層として爆発的に普及し、Redisが台頭する前のキャッシュ標準を作った存在です。現在もFacebook、YouTube、Wikipediaなどで大規模に利用されています。
この記事の目次
- Memcachedの設計思想
- Memcached vs Redis
- 典型的な使われ方
- Memcachedの現状
- まとめ
Memcachedの設計思想

Memcachedはあえて機能を絞り、Key→Valueの読み書きだけに特化しています。永続化なし、リスト・ハッシュ等のデータ構造なし、レプリケーションなし。「キャッシュは消えても困らない」という割り切りでパフォーマンスを最大化しました。
クラスタ機能もサーバ側にはなく、クライアントライブラリが「どのキーをどのサーバに置くか」をハッシュで決める設計。シンプルゆえに障害切り分けが容易で、運用ノウハウが薄くても回せる安心感があります。
Memcached vs Redis

RedisとMemcachedはしばしば比較されますが、設計思想が違います。Memcachedは「純粋なキャッシュ」、Redisは「データ構造を扱えるストア」。新規案件ではRedisが選ばれることが多いですが、「ただのキャッシュ」用途ならMemcachedの方がシンプルで適している場面もあります。
Memcachedはマルチスレッド対応でマルチコアCPUを使い切れる強みがあり、「単純なキャッシュを最大スループットで」というユースケースでは依然として優位です。
典型的な使われ方

Memcachedの代表ユースケースは「DBクエリ結果のキャッシュ」。重いSQLの結果をしばらく保存し、リクエストが来ても再計算しない、というパターンが基本です。
PHPやRubyのフレームワーク(Rails、Symfony等)には標準でMemcachedドライバが付属し、ほぼ「pip install / gem install して接続情報設定」だけで使い始められます。学習コストの低さも、長年愛される理由のひとつ。
Memcachedの現状

Memcachedは2003年の登場以来、Facebook(最大級のMemcached利用者)、Wikipedia、YouTube等で大規模採用されています。Facebook は2008年に Memcached の利用規模で当時最大級に達し、自社で改造版(McRouter等)も公開。
新規案件のキャッシュ層としてはRedisを選ぶ傾向が強くなりましたが、「シンプルで動作が予測可能」というMemcachedの美徳は今も色褪せず、巨大基盤で動き続けています。
まとめ
Memcachedは「機能を絞ることで強さを発揮する」設計の見本のような存在で、Webキャッシュ史の原点と言えます。Redisが派手な機能で目立つ時代でも、Memcachedのシンプルさが活きる場面は今も残っています。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント