memcached

サーバ間で共通セッションを利用する
memcachedインストール
libevent必須だが、一緒にインストールしてくれる
# yum install memcached.x86_64
Installing:
memcached x86_64 1.4.13-1.11.amzn1 amzn-main 80 k
Installing for dependencies:
libevent x86_64 2.0.18-1.9.amzn1 amzn-main 277 k
■起動ユーザ作成
# useradd -s /sbin/nologin memcached
■起動
# memcached -d -m 64 -l 127.0.0.1 -p 11211 -u memcached
もしくわ
# service memcached start -d
■起動確認
# ps aux
# service --status-all
# service memcached status
使ってみる
# telnet localhost 11211
stats
set foo 0 0 3
123
get foo
pecl_memcached
# yum install php-pecl-memcached.x86_64
Installing:
php-pecl-memcached x86_64
Installing for dependencies:
libmemcached x86_64
php-pear noarch
php-pecl-igbinary x86_64
■動作確認
test1.php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->set('key', date('Y/m/d H:i:s'), time() + 60);

test2.php
$m = new Memcached();
$m->addServer('localhost', 11211);
if ($val = $m->get('key')) {
echo $val;
}
■設定
# vim /etc/php.ini
コメントアウト
;session.save_handler =
;session.save_path =
# vim /etc/php.d/memcached.ini
管理しやすいようにこっちに書く
extension=memcached.so
session.save_handler = memcached
session.save_path = "tcp://localhost:11211"