株式会社ミクシィ 開発部 システム運用グループの長野です。普段はミクシィのアプリケーション運用を担当しております。今回から数回にわたり,
memcachedとは
memcachedは,
多くのWebアプリケーションは,
そこでmemcachedが活躍します。memcachedは高性能な分散メモリキャッシュサーバです。通常,
memcachedの特徴
memcachedは非常に高速に動作する分散キャッシュサーバですが,
- シンプルなプロトコル
- libeventによるイベントハンドリング
- 内蔵のオンメモリストレージ
- memcached同士での通信は行わない分散方式
シンプルなプロトコル
memcachedのサーバとクライアントの通信は,
$ telnet localhost 11211 Trying 127.0.0. 1... Connected to localhost. localdomain (127. 0.0. 1). Escape character is '^]'. set foo 0 0 3 (保存コマンド) bar (データ) STORED (結果) get foo (取得コマンド) VALUE foo 0 3 (データ) bar (データ)
プロトコルについてのドキュメントはmemcachedのソースコード内にあります。以下のURLでも参照することができます。
libeventによるイベントハンドリング
libeventとは,
- libevent
- http://
www. monkey. org/~provos/ libevent/ - The C10K Problem
- http://
www. kegel. com/ c10k. html
内蔵のオンメモリストレージ
memcachedに保存したデータは,
memcached同士での通信は行わない分散方式
memcachedは
図2 memcachedの分散方式

次はmemcachedの利用方法について簡単に紹介します