[PHP][memcached] php のセッションにmemcached を使う
![]()
![]()
CentOSの場合
- install
rpmforgeのレポジトリが入っていない人は以下の手順で追加
# wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm# yum install libevent memcached php-pecl-memcache
- 設定
/etc/php.ini を以下のように編集
session.save_handler = memcache session.save_path = "memcached.example.com:11211"/etc/sysconfig/memcached を以下のように適当に編集する。
PORT="11211" USER="nobody" MAXCONN="1024" CACHESIZE="64" OPTIONS=""
- スタート
memcached デーモンをスタート
# chkconfig memcached on # service memcached startApacheをリスタート
# service httpd restart
- 各種設定
パケットキャプチャみると、各値の有効期限が、1440秒になっている。設定場所がわからない。
ソースを見てみると、
memcache_session.c: if (mmc_pool_store(pool, "set", sizeof("set")-1, key_tmp, key_tmp_len, 0, INI_INT("session.gc_maxlifetime"), val, vallen TSRMLS_CC)) {session.gc_maxlifetime を使っているのが分かる。
これで、有効期限を設定できた。
php のセッションにmemcached を使う - Sleepless geek in Seattle
スタンダードなmemcacheの場合は「session.gc_maxlifetime」を見ている。TokyoTyrant系はどうなっているのか・・・
1年前 | 固定リンク | 2010年 6月 23日 | 
