使用Memcache作为会话处理程序存储的序列化用户会话在哪里?以及如何读取/写入序列化数据?

时间:2014-02-22 11:34:56

标签: php session memcached joomla3.0

我正在尝试与Memcache通信,作为Joomla的会话处理程序。在PHP docs底部示例之后,我已经在memcache中注册了一个会话处理程序。一旦用户加载Joomla站点,其会话ID与其他用户数据一起存储到Joomla数据库中。但是现在我不知道如何使用Memcache来读取序列化会话数据,就像使用xcache_get($sessionid)可以使用XCache一样,我创建一个新的Memcache实例,如文档顶部示例中所示会话条目已从数据库中删除。但会议尚未确定。这让我很困惑。我需要访问(读/写)序列化的用户会话。我如何从PHP会话处理程序中获取/设置它?

1 个答案:

答案 0 :(得分:0)

我相信你正在寻找的等价物是这样的:

参加会议:

$session = $memcache->get($sessionId);

设置会话:

$memcache->set(
    'sessionprefix:'.$sessionId,    // the session id.
    $session,           // the actual session itself
    false,              // set to true to use compression
    $expire,            // expiration in second
);

我没有使用过memcache,但我读过人们通常在密钥中使用前缀来分隔不同类型的对象(这也是redis的一种常见做法,类似的数据存储)。我在这里使用了'sessionprefix:',但我确信Joomla有自己的特定前缀。