Як використовувати 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 } )