2014年4月18日金曜日

PHPからmemcachedを操作してみた

■環境
CentOS release 6.3 (Final)
PHP 5.3.3
libmemcached 0.31

■php側準備
yum -y install php
yum -y install php-devel
yum -y install php-pear
yum -y install libmemcached
yum -y install libmemcached-devel

■memcached起動
memcached -d -p 11211 -u nobody -m 2048 -c 4096 -P /var/run/memcached/memcached.pid -v

■phpソースコード
vim mem_test.php
<?php
$memcache = new Memcached();
$memcache->addServer("localhost", 11211);
$versions = $memcache->getVersion();
echo "memcached version : " . $versions['localhost:11211'] . "\r\n";

//$memcache->flush();

for($i = 0; $i < 100; $i++) {
  $memcache->set($i, "value" . $i, 0);
}

for($i = 0; $i < 100; $i++) {
  echo "key:" . $i . "\t";
  echo $memcache->get($i) . "\r\n";
}
?>

php mem_test.php
でsetされた100件の値が表示されることを確認する

■Tips
memcachedに値をsetするときに有効期限を設定することができます
デフォルトは0で0は有効期限無し、単位は秒で指定でき最大で「60*60*24*30(30日間)」指定することができるようです

「memcached-tool localhost:11211 dump」というコマンドを発行するとコマンドで現在setされている情報を確認することができます
他にもオプションで「display」や「stats」がmemcachedの状態を確認できます

keyは重複してsetすることができません

■参考サイト

0 件のコメント:

コメントを投稿