2014-01-20 24 views
1

經過幾天騷擾的人在stackoverflow我已經成功創建會議和管理他們。但我想知道..建議在哪裏存儲它們?在數據庫(我使用mongoDb),或在應用程序的運行內存(我將它們存儲在一個變種)?存儲會話運行或節點中的數據庫

回答

2

我強烈建議使用會話管理模塊(如connect-mongo)將會話存儲在mongodb中。通過這種方式,如果您的服務器出現故障,會話仍將存儲在數據庫中,並且不會中斷,而如果將會話存儲在內存中,會話將會丟失。如果您必須在不同的服務器上維護相同的會話,它也是一個更具可擴展性的解決方案。

如果您使用的是Express,connect-mongo + Express.session()是爲您的應用程序表示會話的最簡單方法。

1

不要將它們作爲變量存儲在Node中。在某些時候,您需要使用cluster模塊來擴展您的應用程序,從而爲每個工作進程提供自己的內存。儘管可以在工作人員之間進行交流,但在內存和代碼複雜度方面這不是一個好主意。

如果您已經在使用它,請將您的會話存儲在mongo中。將來,您的工作進程可以將其用作會話的共享內存池。