2013-10-08 49 views
0

我有一個使用DoctrineORM/MySQL存儲數據和PdoSessionHandler/MySQL來存儲會話的Symfony 2的應用程序。Symfony 2:使用MongoDB作爲會話存儲

我想將DoctrineORM替換爲DoctrineODM以使用MongoDB而不是MySQL。 但我不想在我的服務器上安裝MySQL和MongoDB(以便於維護,升級等)。

所以我正在尋找替換PdoSessionHandler由我自己的服務插入MongoDB。

我新手在NoSQL的和開始在此之前,我想知道:

  • 已知有使用問題(概念,錯誤,性能的影響,很難用/配置等) MongoDB存儲會話。
  • 這是一個很好的初步實踐使用MongoDB的,而不是MySQL的會話存儲

編輯 在Symfony的> 2.1,存在使用MongoDB的作爲會話存儲即服務(tuto to use MongoDB as session storage):

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

回答

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" ] 
+0

謝謝配置。但這不是一個「技術」(我發現tuto配置MongoDB)。我搜索有關概念/體系結構的信息(這是一種很好的做法),以及使用MongoDB進行會話存儲的可能含義(如性能或限制) – Elorfin