togatttiのエンジニアメモ

過度な期待はしないでください.

PHPでmemcachedを動かしてみる[PHP,memcached]

memcachedとは

memcachedは高性能な分散メモリキャッシュサーバと紹介されてる。
初めて聞いたときはよくわからなかったけど、砕いて説明していくとこうだ。

facebookYoutubeなどの大きなWebサイトでは膨大な量のデータを扱う。
ここではデータを取得するために何度も何度もデータベースにアクセスして、
引っ張ってこなくてはいけない。

しかし、データベースも生き物...それだけ大量のアクセスが集中すれば、
捌ききれずに、レスポンスが悪化する。
結果として、ページの表示が遅くなったり、
最悪ずっとロードしたままの状況に陥るかもしれない。

そんなときに一時的にデータを保存するキャッシュサーバというものを用意することで、
不用意なデータベースへの負荷を分散させ、集中アクセスを減らし、
ウェブアプリケーションの正常な稼働、高速化の手助けをするというもの。

先ほど例であげた、facebook,Youtubeの他にもTwitter,Wikipedia,
日本だとMixi,Hatenaとかが使ってるから相当実績があるみたい。
でもこの技術はだいぶ前のものみたいだけど、知っておいて損なしの技術。

ではインストールから、PHPを使った簡単なテストまでやってみる。

memcachedをインストール

php-pecl-memcachedをインストール

クライアントからPHPで動作させるためのmemcachedモジュール。

memcachedを起動

memcahcedをテスト

memcachedでキャッシュサーバにデータを保存して、
それを出力するテストコード。

大規模なサービスを運用するようになったら、使ってみよう。

参考