Як використовувати MongoDbSessionHandler для зберігання сесій в базі даних MongoDB

Дата оновлення перекладу 2023-06-22

Як використовувати MongoDbSessionHandler для зберігання сесій в базі даних MongoDB

Сховище сесій Symfony за замовчуванням записує інформацію про сесії у файли. Деякі середні та великі за розміром веб-сайти використовують базу даних NoSQL під назвою MongoDB для того, щоб зберігати значення сесій, а не файли, оскільки бази даних простіше використовувати і масштабувати в мультисерверному середовищі.

Symfony має вбудоване рішення для сховища сесій DB NoSQL під назвою MongoDbSessionHandler. Щоб використовувати це, вам потрібно:

A) Зареєструвати сервіс MongoDbSessionHandler;

B) Сконфігурувати його під конфігурацією framework.session.handler_id.

Щоб побачити, як конфігурується схожий обробник, див. Як використовувати PdoSessionHandler для зберігання сесій в DB.

Установка збору MongoDB

Вам не потрібно нічого робити для того, щоб ініціалізувати збір сесії. Однак, вам може захотітися додати оглавлення, щоб поліпшити продуктивність збору сміття. З оболонки MongoDB:

1
2
use session_db
db.session.ensureIndex( { "expires_at": 1 }, { expireAfterSeconds: 0 } )