iwason diary

健康、プログラミング、日常系などなど

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で実行するために幾つか追加します
 yum -y install php-pecl-memcached
 
httpdをリスタートして、phpでmemcachedが使えるか確認します。
# /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) }
 
 
出来ました!