key-valueストアのうち、メモリーに保存する「memcached」を実際に導入して使ってみます。memcachedは、mixiやFacebook、Twitter、Flickr、YouTubeなど超メジャーサイトで使われているキー・バリュー型データストア(key-valueストア)です。Linuxのサーバーソフト(デーモン)として動き、ネットワークを介して他のクライアントからkeyとvalueをセットできます。

 使い方は極めて簡単で、ネットを介して「set」コマンドでkeyとvalueを保存し、「get キー」コマンドでvalueを取り出します。PerlやPHPなどのスクリプト言語には、memcachedのライブラリモジュールが用意されており、プログラム内からも簡単に利用できます。こうしたインタフェース(プロトコル)は、kumofsなどの分散key-valueストアソフトの多くに採用されています。

 memcachedのインストールは簡単です。Ubuntuの場合、

# apt-get install memcached
だけです。Fedoraの場合はyum、CentOS 5.xの場合はレポジトリを登録*1しておき、yumを実行します。

図1●memcachedにkeyとvalueを格納してみる
図1●memcachedにkeyとvalueを格納してみる
telnetコマンドで対話的に行う場合。
[画像のクリックで拡大表示]

 導入後、起動するには、rootではない一般ユーザーで、

$ memcached
のように実行します。

 では試しに、key-valueデータを格納してみましょう。通常のデーモンですからtelnetでポート番号を指定すれば、memcachedと会話できます(図1)。

 次にPerlから読み取ってみましょう*2図2のようなPerlのスクリプトを実行します。

図2●これをtest.plとして保存する
図2●これをtest.plとして保存する
keyに対するvalueをmemcachedから読み取るだけのプログラムである。
$ ./test.pl
key=nikkei
100

 telnetで格納したnikkeiのvalueが取り出せました。