如何使用MongoDbSessionHandler存储会话在MongoDB数据库

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 4.1,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

如何使用MongoDbSessionHandler存储会话在MongoDB数据库

默认的Symfony会话欧宝娱乐app下载地址存储将会话信息写入文件。一些大中型网站使用名为MongoDB的NoSQL数据库来存储会话值,而不是文件,因为数据库更容易在多web服务器环境中使用和扩展。

欧宝娱乐app下载地址Symfony有一个用于NoSQL数据库会话存储的内置解决方案MongoDbSessionHandler.要使用此功能,您需要:

A)注册MongoDbSessionHandler服务;

B)在下面配置framework.session.handler_id配置。

要了解如何配置类似的处理程序,请参见如何使用PdoSessionHandler存储会话在数据库中

建立MongoDB集合

初始化会话集合不需要做任何事情。但是,您可能希望添加索引来提高垃圾收集性能。从MongoDB shell

1 2
使用session_db数据库。ensureIndex ({“expires_at”1},{expireAfterSeconds0})
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。