memcachedとは?

memcachedとはその名の通り、データをメモリ上に保持するキャッシュサーバで、アクセス数の多いWebサイトにおいてデータベースの負荷を減らすために利用されることが多い。データをディスクに書き出さず、保持するデータもキーと値のみと非常にシンプルであるため動作は高速だが、memcachedを終了するとデータが失われてしまうという問題がある。そのためmemcachedには消失しても問題のないデータのみを格納するようシステム設計を行う必要がある。

なお、memcached互換のキャッシュサーバとして、データをディスクに永続化する機能を備えたmemcachedbや、レプリケーション機能を備えたrepcachedがある。

Java向けのmemcachedクライアントはいくつか存在するが、本稿で紹介するのはmemcached client for java。LGPLで提供されるオープンソースライブラリだ。memcached client for javaのWebサイトではJDK 1.4~6.0向けにそれぞれLog4jもしくはビルトインロガーを使用するようコンパイルされたバイナリが用意されているので環境にあわせて適切なものを選択して欲しい。