memcached をCentosで使ってみる
memcachedをCentOSで使ってみます。
環境
CentOS release 6.3 (Final)
yum install libevent libevent-devel
2012/11/14現在の最新を取得します。
# wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz # tar zxvf memcached-1.4.15.tar.gz # cd memcached-1.4.15 # ./configure # make # make install # ls -l /usr/local/bin/memcached -rwxr-xr-x 1 root root 309228 11月 13 23:03 2012 /usr/local/bin/memcached
デフォルトだと/usr/local/bin/配下にインストールされます。
デーモンで実行!
# /usr/local/bin/memcached -p 11211 -m 64m -d
失敗して以下のメッセージが出ます
can't run as root without the -u switch
ユーザを指定する必要がありそう。
デフォルト設定でユーザを追加し、指定して実行します。
# useradd memcached # /usr/local/bin/memcached -p 11211 -m 64m -d -u memcached
動いた!
phpで実行するために幾つか追加します
# /etc/init.d/httpd restart # php -i | grep memcached
/etc/php.d/memcached.ini, memcached memcached support => enabled libmemcached version => 0.31 Registered save handlers => files user memcache memcached
実際にサンプルコードを動かします。
# vim test.php
<?php
$memcached = new Memcached(); $memcached->addServer('localhost', 11211); $memcached->flush(); $number = 100; $text = 'Hello World !!'; $list = array(1, 2, 3); $memcached->set('number', $number); $memcached->set(2, $text); $memcached->set(3, $list); var_dump($memcached->get('number')); var_dump($memcached->get(2)); var_dump($memcached->get(3));
実行結果
int(100) string(14) "Hello World !!" array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
出来ました!