Memcached はMySQL パフォーマンス プラグインではありません。ライトスルーまたはライトバックキャッシングシステムとして一般的に使用されます。頻繁に使用されるキーと値のペアを、変更しない限りデータベースにアクセスせずに保存する必要がある場合に、DB の負荷を軽減します。
Memcached の Web サイトにアクセスすると、役立つ情報が得られます。
無料でオープン ソースの高性能な分散メモリ オブジェクト キャッシング システムであり、本質的に汎用的ですが、データベースの負荷を軽減して動的な Web アプリケーションを高速化するために使用することを目的としています。
Memcached は、データベース呼び出し、API 呼び出し、またはページ レンダリングの結果からの任意のデータ (文字列、オブジェクト) の小さなチャンクのメモリ内キー値ストアです。
超単純な疑似コードの例:
Read:
if data in memcache {
// Retrieve and use
} else {
// Pull from DB, use and write to memcache
}
または、ここで Memcached は、結果をキャッシュするための簡単な例を説明しています。
Cache Results:
function get_foo(foo_id)
foo = memcached_get("foo:" . foo_id)
return foo if defined foo
foo = fetch_foo_from_database(foo_id)
memcached_set("foo:" . foo_id, foo)
return foo
end
それを使用するソフトウェア/コードベースを作成しない限り、何もしません (通常、DB 関数を作成して、DB にアクセスする前にキャッシュをチェックします)。基本的なユースケースのシナリオを理解するには、キャッシングの Memcachedストーリーを読む価値があります。
歴史的に、MySQL での HEAP またはメモリ テーブルの使用と比較した人もいますが、同じではなく、クラスター内の多くのマシンに、および/または使用可能な空き/未割り当てのメモリがあるネットワークを介して (1 つでも) 分散できます。サーバ。
その価値を大規模に理解したい場合は、それを使用している企業のリストを見てください。