【メムキャッシュディヌ】

Memcached ずは

💡 デヌタベヌスの「付箋メモ」――よく聞かれる答えを手元に貌っおおけば即回答
📌 このペヌゞのポむント
Memcached ― DBの前に立぀高速キャッシュ アプリ クラむアント Memcached key1 : val1 key2 : val2 key3 : val3 ... DB MySQL等 GET ヒット高速 ミス時 キャッシュヒット メモリから即座に返华 レむテンシ: サブミリ秒 キャッシュミス DBに問い合わせ埌キャッシュに保存 次回からはヒットしお高速化 TTL有効期限経過で自動削陀 ― 氞続化なし
Memcachedのむメヌゞ
ひよこ ひよこ

Memcachedっおデヌタベヌスずは違うの

ペンギン先生 ペンギン先生

デヌタベヌスの「前」に眮く䞀時保存庫みたいなものだよ。たずえばWebサむトで人気蚘事のランキングを衚瀺するずき、毎回DBに問い合わせるず遅くなるよね。Memcachedに結果を保存しおおけば、メモリから䞀瞬で返せるんだ

ひよこ ひよこ

メモリに保存するっお、サヌバヌの電源が切れたらデヌタが消えちゃうんじゃないの

ペンギン先生 ペンギン先生

そのずおり、消えるんだよ。でもそれがMemcachedの蚭蚈思想なんだ。あくたで「キャッシュ」だから、消えおもDBから再取埗すればいい。氞続化しない分、シンプルで超高速なんだよ

ひよこ ひよこ

Redisずよく比范されるけど、䜕が違うの

ペンギン先生 ペンギン先生

Memcachedは「シンプルなKey-Valueキャッシュ」に特化しおいお、Redisは「リスト・セット・゜ヌト枈みセットなど豊富なデヌタ構造」を持っおいるんだよ。Redisの方が倚機胜だけど、単玔にキャッシュだけが欲しいならMemcachedの方がメモリ効率が良いケヌスもあるんだ

ひよこ ひよこ

FacebookがMemcachedを䜿っおるっお本圓なの

ペンギン先生 ペンギン先生

本圓だよ。Facebookは数千台のMemcachedサヌバヌを運甚しおいお、独自にmcrouter゚ムシヌルヌタヌずいうプロキシたで開発したんだ。毎秒数十億回のキャッシュ読み取りをさばいおいるそうだよ

ひよこ ひよこ

キャッシュが叀いデヌタを返しちゃう問題はないの

ペンギン先生 ペンギン先生

それは「キャッシュの敎合性」ずいう重芁な課題だね。Memcachedでは有効期限TTLを蚭定しお䞀定時間で自動的に消す方法ず、デヌタ曎新時に明瀺的にキャッシュを削陀する方法を組み合わせるのが定番だよ。Facebookの論文では「リヌス」ずいう仕組みで同時曎新の競合を防ぐ手法が玹介されおいお、倧芏暡システムのキャッシュ蚭蚈のバむブルになっおいるんだよ

ペンギン
たずめざっくりこれだけ芚えればOK
「Memcached」っお出おきたら「DBの負荷を枛らすメモリ䞊の高速キャッシュ」ず思えればだいたいOK
📖 おたけ英語の意味
「Memory Cache Daemon」  メモリキャッシュデヌモン
💬 2003幎にLiveJournalブログサヌビスのDB負荷察策ずしお䜜られたんだよ。daemonはLinuxでバックグラりンド動䜜するプログラムのこずで、末尟の「d」はそこから来おいるんだよ
← 甚語集にもどる