こんにちは、ディレクターのJackです。
夏が終わりますね。今年は夏らしいことを一切やっておりません。浜辺でBBQがしたいです。
さて、今回は下記の続編です。 ディレクターなら知っておきたいキャッシュサーバ「memcached」の基礎知識
前回は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へのデータ保存に成功しました。
無事データの保存が完了しました。
- PHPの公式ドキュメント
Memcached::set
データを参照する
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」という文字列が返却されましたね。成功です。
- PHPの公式ドキュメント
Memcached::get
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。