安装
在PHP利用memcached的模块有以下2种,在这里利用memcached模块。
memcache:php-pecl-memcachememcached:php-pecl-memcached# yum install memcached php-pecl-memcached

(2) 启动memcached
# systemctl enable memcached
# systemctl start memcached
修正配置文件
通过以下设定PHP的默认session管理会变为memcached。
(1) php.ini
# vi /etc/php.ini
; session.save_handler = files # 注释
; session.save_path = \公众/var/lib/php/session\"大众 # 注释
(2) memcached.ini
# vi /etc/php.d/memcached.ini
session.save_handler = memcached
session.save_path = \"大众tcp://localhost:11211\"大众 # 添加
(3) www.conf
# vi /etc/php-fpm.d/www.conf
; php_value[session.save_handler] = files # 注释
; php_value[session.save_path] = /var/lib/php/session # 注释
php_value[session.save_handler] = memcached # 添加
php_value[session.save_path] = \"大众localhost:11211\"大众 # 添加
# systemctl reload php-fpm
(4) 在PHP程序里进行设定
如果没有修正干系配置文件,可以通过如下方法在PHP程序里进行配置。
$session_save_path = 'tcp://localhost:11211';
if (ini_set('session.save_handler', 'memcache') && ini_set('session.save_path', $session_save_path)){
session_start;
}
(5) 确认
可以利用安装memcached时安装的memcached-tool。
# memcached-tool localhost:11211 dump
结语
PHP的session默认有效期间是24分(1440秒),而这个默认值可以通过/etc/php.ini的session.gc_maxlifetime进行调度。
除了session管理以外也可如下利用memcached。
$mc = new Memcached;
$mc->addServer('localhost', 11211);
$mc->set('foo','var',60);
var_dump($mc->get('foo'));
$mc->add('hoge','fuga',60);
$mc->add('hoge','piyo',60);
var_dump($mc->get('hoge'));
$mc->flush;