サイテック株式会社 > memcached使ってみました

エンジニア募集中!

サイテック株式会社で、根っからの技術者である社長や、大手IT企業から転職してきた仲間たちと議論しながら、社会をもっと豊かに、幸せにするアプリケーションを作ってみませんか?

  • Webアプリケーションエンジニア
  • エンジニア実習生

詳細はこちら

2008年11月14日 09:48

memcached使ってみました * * * *

by たむかい

Tags: PHP

現在、フレームワークの開発を行っていますが、
その過程で、memcachedを検証してみました。

memcachedとは、
オブジェクトをメモリにキャッシュするデーモンで、
PHPに限らず、各言語用とのインターフェースライブラリがそろっています。
mixiやニコ動でも使っているようです。

主な使い方としては、
・アプリケーションレベルでのオブジェクトの共有(静的インスタンス)
・クエリ結果のキャッシュ
・セッションストア


ひとまず、フレームワークに組み込むとしたら、
「アプリケーションレベルでのオブジェクトの共有」の方法として、利用できないかと考えました。


アプリケーション全体で使用し、かつ、内容が変わらないようなもの、
例えば、DB接続定義・区分定義・絵文字変換表など。
また、iniファイルやXMLなどパースが必要なものはパース後の形で格納しておけば、
パースのコストが減るなぁと考えていました。


それらを使いやすい形で格納したオブジェクトを用意して、
それをmemcachedに格納し、
2回目以降のアクセスは、全てmemchachedからオブジェクトを取得すれば、
ファイルIOは減るし、高速化するかなという予想。

インストールもyumだし、使い方も簡単なので、
効果があればフレームワークに組み込もうかと考えていました。


が、相当なアクセスがあるような状況下でないと、
ほとんど効果ないですね。
サーバのリソースに余裕があるような場合は、
ファイルIOでもDBアクセスでも結構速いので、
memcachedを使うメリットはほぼゼロな気がします。

ただ、かなりの高負荷が想定される場合、
特にDBはスケールアウトが難しいため、
少しでもDBアクセスを減らすために利用するという使い方はメリットがありそうです。


高速化というよりも、負荷軽減という目的の方が使い道がありそうです。
(ちなみに、負荷軽減が本来の目的のようです)


とりあえず、ものすごく簡単に使えることがわかったので、
高負荷が予想されるシステムの場合、あらかじめ仕組みとして組み込んでおいた方がいいかもしれないですね。


この記事の執筆者

プロジェクトマネージャー たむかい 31歳 入社3年目

はじめまして。サイテックのたむかいです。世の中では、ITの仕事は新3Kなんて言われることがあるそうです。きつい・帰...

この人の会社をみる この人関連のイベントをさがす この人と一緒にはたらく

この記事を読んだ人はこんな記事も読んでいます

コメント

(メールアドレスは公開されません。メールで返答が欲しい場合などに入力してください)

このエントリへのトラックバックURL

トラックバック

トラックバックはありません

メンバー紹介

谷田部 輝真

谷田部 輝真

初めまして。サイテックの代表をやっております谷田部と申します。 「ITを利用し、より豊かな、より幸せな世の中になっ...

ishidaさん

ishida

サイテック最年少の子持ちプログラマーです。 最近Twitterはじめました! By TwitterIcon.com

mhas

mhas

最近、清掃の方が顔を覚えてくれました・・・