php.ini会话memcache处理程序

时间:2013-12-08 20:15:14

标签: php session memcached

我读了很多关于设置会话处理程序来存储会话数据在memcached服务器中,但总是写这样的东西打开php.ini并设置:

session.save_path =“tcp:/ / m1:11211,tcp:/ / m2:11211”

当我使用session_set_save_handler函数

存储会话数据时会发生什么
class MemcachedSessionHandler
{
   private $memcached;

   function __construct(){
      $this->memcached = new Memcached();
      $this->memcached->addServer('127.0.0.1','11211');
   }

   function open($savePath, $sessionName)
   {
      // here i open session
   }

   function close()
   {
      // here i close session
   }

   function read($id)
   {
      // here i read data from memcached
      return $this->memcached->get($id);
   }

   function write($id, $data)
   {
      // here i write
      return $this->memcached->set($id, $data);
   }

   function destroy($id)
   {
       return $this->memcached->destroy($id, $data);
   }

   function gc($maxlifetime)
   {
   }
}

$handler = new MemcachedSessionHandler();
session_set_save_handler(
   array($handler, 'open'),
   array($handler, 'close'),
   array($handler, 'read'),
   array($handler, 'write'),
   array($handler, 'destroy'),
   array($handler, 'gc')
 );

在php.ini中使用memcached而不是fumble实现此函数来提供php会话并不是更好的主意吗? Meaby在这里是一些我不知道的坏事;(有人可以写一下关于它的意见吗?

0 个答案:

没有答案