PHP连接Memcache

1.设置session用memcache来存储
方法I: 在 php.ini 中全局设置
session.save_handler = memcache
session.save_path = “tcp://127.0.0.1:11211″
方法II: 某个目录下的 .htaccess :
php_value session.save_handler “memcache”
php_value session.save_path  “tcp://127.0.0.1:11211″
方法III: 再或者在某个一个应用中:
ini_set(“session.save_handler”, “memcache”);
ini_set(“session.save_path”, “tcp://127.0.0.1:11211″);
使用多个 memcached server 时用逗号”,”隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数”persistent”、”weight”、”timeout”、”retry_interval” 等等,类似这样的:”tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2″ 。
如果安装的PECL是memcached(使用libmemcache库的那个),则配置应为
ini_set(“session.save_handler”, “memcached”); // 是memcached不是memcache
ini_set(“session.save_path”, “127.0.0.1:11211″); // 不要tcp:

2.WIN环境下连接Memcache

</span>

<?php
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://192.168.20.66:11211");
session_start();
class MemcacheClass {
protected $lifeTime     = 3600;
protected $sessionName  = '';
protected $handle       = null;

/**
* 打开Session
* @access public
* @param string $savePath
* @param mixed $sessName
*/
public function open($savePath, $sessName) {
$this->lifeTime     = 3600;
// $this->sessionName  = $sessName;
$options            = array(
'timeout'       => 1,
'persistent'    => 0
);
$this->handle       = new Memcache;
return $this->handle->addServer('192.168.20.66', '11211');
}

/**
* 关闭Session
* @access public
*/
public function close() {
return true;
}

/**
* 读取Session
* @access public
* @param string $sessID
*/
public function read($sessID) {
}

/**
* 写入Session
* @access public
* @param string $sessID
* @param String $sessData
*/
public function write($sessID, $sessData) {
}

/**
* 删除Session
* @access public
* @param string $sessID
*/
public function destroy($sessID) {
}

/**
* Session 垃圾回收
* @access public
* @param string $sessMaxLifeTime
*/
public function gc($sessMaxLifeTime) {
return true;
}
}
$hander =   new MemcacheClass();
session_set_save_handler(
array(&$hander,"open"),
array(&$hander,"close"),
array(&$hander,"read"),
array(&$hander,"write"),
array(&$hander,"destroy"),
array(&$hander,"gc"));

?>

<span style="font-family: Courier New;">

3.注意PHP.ini中session.auto_start关闭。

评论已经关闭。