Memcached チュートリアル

Memcachedは、自由でオープンソースの高性能な分散型インメモリオブジェクトキャッシュシステムです。

Memcachedは、LiveJournal傘下のDanga Interactive社のBrad Fitzpatricを中心に開発されたソフトウェアです。現在ではmixi、hatena、Facebook、Vox、LiveJournalなど多くのサービスで、Webアプリケーションの拡張性を高める重要な要素となっています。

Memcachedはメモリベースのkey-valueストアであり、小さな任意のデータ(文字列、オブジェクト)を格納するために使用されます。これらのデータは、データベース呼び出し、API呼び出し、またはページレンダリングの結果です。

Memcachedはシンプルでありながら強力です。そのシンプルな設計は迅速な開発を可能にし、開発の難易度を軽減し、大量データのキャッシュに関する多くの問題を解決します。そのAPIはほとんどの主要な開発言語と互換性があります。

本質的には、シンプルなkey-valueストレージシステムです。

一般的な使用目的は、データベースのクエリ結果をキャッシュすることでデータベースへのアクセス回数を減らし、動的Webアプリケーションの速度を向上させ、拡張性を高めることです。

Memcached 公式サイト:https://memcached.org/。


特徴

memcachedは高速で動作する分散キャッシュサーバーとして、以下の特徴を持っています。

  • プロトコルがシンプル
  • libeventベースのイベント処理
  • 内蔵メモリストレージ方式
  • memcachedは互いに通信しない分散型

対応言語

多くの言語でmemcachedに接続するクライアントが実装されており、その中でもPerl、PHPが主流です。memcachedのウェブサイトに記載されているものだけでも:

  • Perl
  • PHP
  • Python
  • Ruby
  • C#
  • C/C++
  • Lua
  • など

Memcached ユーザー

  • LiveJournal
  • Wikipedia
  • Flickr
  • Bebo
  • Twitter
  • Typepad
  • Yellowbot
  • Youtube
  • WordPress.com
  • Craigslist
  • Mixi
その他の拡張