0

我有一个基于 Symfony 2 的应用程序,使用 DoctrineORM / MySQL 来存储数据和 PdoSessionHandler / MySQL 来存储会话。

我正在尝试将 DoctrineORM 替换为 DoctrineODM 以使用 MongoDB 而不是 MySQL。但我不想在我的服务器上安装 MySQL 和 MongoDB(以方便维护、升级等)。

所以我正在寻找用我自己的插入 MongoDB 的服务替换 PdoSessionHandler 。

我是 NoSQL 的新手,在开始之前,我想知道:

  • 使用 MongoDB 存储会话存在已知问题(概念、错误、性能影响、难以使用/配置等)。
  • 使用 MongoDB 代替 MySQL 进行会话存储是一个很好的做法

编辑 在 Symfony > 2.1 中,有一项服务使用 MongoDB 作为会话存储(tuto to use MongoDB as session storage):

Symfony\Component\HttpFoundation\Session\Storage\Handler\MongoDbSessionHandler
4

1 回答 1

0

你应该配置它app/config.yml

framework:
    session:
        handler_id: session.handler.mongodb

services:
    session.mongodb:
        class: MongoClient
        arguments: [ "mongodb://localhost:27017", true]

    session.handler.mongodb:
        class: Symfony\Component\HttpFoundation\Session\Storage\Handler\MongoDbSessionHandler
        arguments: [ "@session.mongodb" ]
于 2013-10-08T12:53:20.837 回答