Spec-Zone.ru › Symfony 4.0

MongoDbSessionHandler

class MongoDbSessionHandler extends AbstractSessionHandler

Обработчик сессий, использующий пакет mongodb/mongodb и расширение драйвера MongoDB.

Методы

open($savePath, $sessionName)

{@inheritdoc}

from AbstractSessionHandler
validateId($sessionId)

{@inheritdoc}

from AbstractSessionHandler
read($sessionId)

{@inheritdoc}

from AbstractSessionHandler
write($sessionId, $data)

{@inheritdoc}

from AbstractSessionHandler
destroy($sessionId)

{@inheritdoc}

from AbstractSessionHandler
__construct(Client $mongo, array $options)

Конструктор.

close()

{@inheritdoc}

gc($maxlifetime)

{@inheritdoc}

updateTimestamp($sessionId, $data)

{@inheritdoc}

Подробности

open($savePath, $sessionName)

{@inheritdoc}

Параметры

$savePath
$sessionName

validateId($sessionId)

{@inheritdoc}

Параметры

$sessionId

read($sessionId)

{@inheritdoc}

Параметры

$sessionId

write($sessionId, $data)

{@inheritdoc}

Параметры

$sessionId
$data

destroy($sessionId)

{@inheritdoc}

Параметры

$sessionId

__construct(Client $mongo, array $options)

Конструктор.

Доступные параметры: * database: Имя базы данных [обязательно] * collection: Имя коллекции [обязательно] * idfield: Имя поля для хранения идентификатора сессии [по умолчанию: _id] * datafield: Имя поля для хранения данных сессии [по умолчанию: data] * timefield: Имя поля для хранения метки времени [по умолчанию: time] * expiryfield: Имя поля для хранения метки истечения срока действия [по умолчанию: expires_at].

Сильно рекомендуется создать индекс на поле expiry_field для автоматического удаления устаревших данных. В качестве альтернативы, можно настроить автоматическое удаление сессий в базе данных, как описано ниже:

Коллекции с TTL (Time-To-Live) могут использоваться в MongoDB 2.2+ для автоматического удаления устаревших сессий. Пример индекса:

db.<session-collection>.ensureIndex(
    { "<expiry-field>": 1 },
    { "expireAfterSeconds": 0 }
)

Подробнее: http://docs.mongodb.org/manual/tutorial/expire-data/

Если вы используете такой индекс, можно установить gc_probability в 0, так как сборка мусора не требуется.

Параметры

Client $mongo Экземпляр MongoDB\Client
array $options Ассоциативный массив параметров

Исключения

InvalidArgumentException При отсутствии "database" или "collection"

close()

{@inheritdoc}

gc($maxlifetime)

{@inheritdoc}

Параметры

$maxlifetime

updateTimestamp($sessionId, $data)

{@inheritdoc}

Параметры

$sessionId
$data

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API