ホーム > Ubuntu, プログラム小技 > MemcachedのインストールとPHPからのアクセス

MemcachedのインストールとPHPからのアクセス

2009 年 4 月 2 日

負荷分散システムでのデータキャッシュ化のため、memcachedを導入しました。

TCP/IP通信でリモートサーバのメモリにデータを保存することが出来ます。

技術的なことは他のサイトに譲るとして、導入方法です。

memcachedは元々DBのクエリキャッシュのために作られたようですが、

大抵のデータは格納できます。

Ubuntuからのインストールは非常に簡単で、synapticでmemcachedをインストールするだけです。

起動コマンドも簡単です。

memcached -p ポート番号 -m 最大メモリ -d

最大メモリが64MBであるなら、パラメータには64mと指定します。

これだけで、メモリキャッシュサーバの導入は終わり。

フロントエンドの例として、PHPで使用してみます。

PECLライブラリのインストールが必要ですが、これもsynapticからphp5-memcacheをインストールするだけです。

と思ったのですが、memcacheライブラリがロードされない・・・

/etc/php5/cli/conf.d/memcache.iniファイルの2行目で、memcache.soのロードがコメントアウトされていました。

viなどで、コメントアウトを取れば完成です。

簡単な動作例

$key = "test";
$m = new Memcache();
$m->connect("localhost", 10000); // localhostの10000番でmemcachedを起動したと仮定
$v = $m->get($key);
if($v === false) {
 $v = "memcached at ".date('Y/m/d H:i:s');
 $m->set($key, $v, 0, 30); // 30秒間キャッシュ
}
echo $v, "\n";

キャッシュの有効期限をなくすには、setメソッドの第4引数を0にします。

memcacheはセッションハンドラにも使えるので、便利です。

admin Ubuntu, プログラム小技 , ,