Web無料相談会2018冬
Web無料相談会2018冬
2015.08.28

ディレクターなら知っておきたいキャッシュサーバ「memcached」の基礎知識【PHP編】

Jack

こんにちは、ディレクターのJackです。
夏が終わりますね。今年は夏らしいことを一切やっておりません。浜辺でBBQがしたいです。

さて、今回は下記の続編です。

前回はtelnetからmemcachedを利用する方法をご紹介させていただきましたが、本日はPHPからmemcachedを利用してみましょう。
実際にコーディングしてみるとテンション上がりますよね。

memcachedとは?

まずは前回のおさらいから。
memcachedとは、データとオブジェクトをメモリ内にキャッシュするサーバで、データベースからの参照回数を削減する際に利用します。特に、データベースを用いたWebサイトを高速化するために用いられます。

memcachedライブラリをインストールする

今回はPHPから利用するため、memcachedライブラリをインストールします。
インストール環境も前回と同じ「Ubuntu 14.04」です。

下記コマンドを入力し、memcachedのライブラリをインストールしましょう。

$ sudo apt-get install php5-memcached

準備はこれで終了です。

プログラムを書いてみよう

下記3つの処理をPHPで書いてみましょう。

  • データを保存する
  • データを参照する
  • データを削除する

データを保存する

memcachedにデータを保存する際は、setメソッドを利用します。

例えば、「liginc」というキーに対して「jack」という「4バイト」の文字列で「600秒間(10分間)」保存する際は、下記プログラムとなります。

<?php
/* Memcachedのオブジェクトを作成 */
$mem = new Memcached();

/* サーバ情報を指定 */
$mem->addServer('localhost', 11211);

/* Memcachedに値をセットする */
/* ligincというキーでjackという値(文字列)を600秒間保持する */
$res = $mem->set('liginc', 'jack', 600);

if ($res) {
   echo "memcachedへのデータ保存に成功しました。\n";
} else {
   echo "memcachedへのデータ保存に失敗しました。\n";
}

実行してみましょう。

$ php set.php 
memcachedへのデータ保存に成功しました。

無事データの保存が完了しました。

データを参照する

memcachedへのデータ保存に成功したので、次はデータを取り出す作業です。
データを取り出す際には、getメソッドを利用します。

プログラムは下記となります。

<?php
/* Memcachedのオブジェクトを作成 */
$mem = new Memcached();

/* サーバ情報を指定 */
$mem->addServer('localhost', 11211);

/* Memcachedから値を取得する */
/* ligincというキーでMemcachedに格納されているデータを取得する */
$value = $mem->get('liginc');

/* 取得したデータを表示する */
if (!empty($value)) {
    echo $value . "\n";
} else {
    echo "値がセットされていません。\n";
}

実行してみましょう。

$ php get.php 
jack

「jack」という文字列が返却されましたね。成功です。

  • 1
  • 2