memcachedクライアントライブラリ(Perl,PHP編)

当ブログをご覧のみなさまこんにちは。さくらインターネット研究所の大久保です。

前回までKVSとmemcachedプロトコルの概要を説明させていただきました。

今回はプログラミング言語からmemcachedプロトコルを介してKVSにアクセスする方法について、Perl、PHPのクライアントライブラリのインストール方法、簡単なコードを解説したいと思います。

Perl

まずはクライアントライブラリをインストールします。以下はFreeBSDのPortsを使った方法です。手元の検証環境ではFreeBSD 8.0-RELEASE、perl 5.8.9を使用しています。

% cd /usr/ports/databases/p5-Cache-Memcached
% make install

いくつかの関連するモジュールも一緒にインストールされます。

Perlクライアントモジュールを利用してKVSにアクセスする簡単なコードを以下に示します。

#!/usr/bin/env perl

use Cache::Memcached;

$mem = Cache::Memcached->new({'servers' =>["127.0.0.1:11211"]});

$mem->set('name','ohkubo'); print "set:name = ohkubo\n";
$value = $mem->get('name'); print "get:name = $value\n";

$mem->delete('name');print "delete:name\n";
$value = $mem->get('name'); print "get:name = $value\n";

$mem->set('age','29'); print "set:age = 29\n";
$mem->incr('age'); print "incr:age\n";
$value = $mem->get('age'); print "get:age = $value\n";

青文字で示した部分がライブラリのメソッドを呼んでいる部分で、ここでは、set、get、delete、incrを試しています。

実行結果は以下のようになります。

set:name = ohkubo
get:name = ohkubo
delete:name
get:name =
set:age = 29
incr:age
get:age = 30

他のメソッドについてはperldocで表示されるドキュメントをご覧ください。

% perldoc Cache::Memcached

PHP

PHPの場合も、まずはクライアントライブラリをインストールします。以下はFreeBSDのPortsを使った方法です。

既にapache、PHPのインストールが済んでいるものとして説明します。
手元の検証環境では、FreeBSD 8.0-RELEASE、Apache-2.2.14、PHP-5.2.12を使用しています。

% cd /usr/ports/databases/pecl-memcache
% make install

% cat /usr/local/etc/php/extensions.ini
extension=zlib.so
extension=session.so
extension=memcache.so ← 追加される

% /usr/local/etc/rc.d/apache22 restart

PHPクライアントモジュールを利用してKVSにアクセスする簡単なコードを以下に示します。

<?
header("Content-type:text/plain");

$mem = new Memcache;
$mem->connect('127.0.0.1','11211');

$mem->set('name','ohkubo'); print "set:name = ohkubo\n";
$value = $mem->get('name'); print "get:name = $value\n";

$mem->delete('name',0); print "delete:name\n";
$value = $mem->get('name'); print "get:name = $value\n";

$mem->set('age','29'); print "set:age = 29\n";
$mem->increment('age'); print "increment:age\n";
$value = $mem->get('age'); print "get:age = $value\n";
?>

青文字で示した部分がライブラリのメソッドを呼んでいる部分で、ここでは、set、get、delete、incrementを試しています。

実行結果は以下のようになります。

set:name = ohkubo
get:name = ohkubo
delete:name
get:name =
set:age = 29
increment:age
get:age = 30

他のメソッドについてはPHPのWebマニュアルをご覧ください。
http://php.net/manual/ja/book.memcache.php

終わりに

これまでKVS,memcachedプロトコルについて基本的なところを説明してきました。次回からはいくつか具体的なKVSソフトウェアを取り上げ、インストール方法、使い方、性能測定結果などに触れていきたいと思います。

2 comments to memcachedクライアントライブラリ(Perl,PHP編)

コメントをどうぞ

  

  

  


*

You can use these HTML tags

<a href=""title=""><abbr title=""><acronym title=""><b><blockquote cite=""><cite><code><del datetime=""><em><i><q cite=""><strike><strong><img localsrc=""alt="">