xp-forge/mongo-sessions

v2.2.1 2024-09-22 08:51 UTC

This package is auto-updated.

Last update: 2024-09-22 09:34:48 UTC


README

Build status on GitHub XP Framework Module BSD Licence Requires PHP 7.0+ Supports PHP 8.0+ Latest Stable Version

基于 MongoDB会话实现

示例

use web\session\InMongoDB;
use com\mongodb\MongoConnection;

$conn= new MongoConnection('mongodb://localhost');
$sessions= new InMongoDB($conn->collection('test', 'sessions'));

会话过期

默认情况下,清理过期会话由实现处理。为了更高效版本,使用如下所示的 TTL 索引

设置集合

在 MongoDB 壳中执行以下命令

db.sessions.createIndex({"_created": 1}, {expireAfterSeconds: 86400})

添加 TTL 标志

InMongoDB::USING_TTL 作为第二个参数传递给 InMongoDB 构造函数

$sessions= new InMongoDB($conn->collection('test', 'sessions'), InMongoDB::USING_TTL);

这将使用 expireAfterSeconds 值作为会话持续时间。