2014-11-17 105 views
1

有沒有辦法使用express快速切換會話存儲?Nodejs快速可互換會話存儲

目前取決於默認配置,我的快車應用程序使用redis或mongo來存儲會話。

所以我的問題:有沒有辦法從使用redis的會話切換到mongo?如果redis出現故障。

我試過再次打電話app.use(express_session({....})),但它的工作。我認爲必須有一些鉤子,可以讓我刪除當前的會話存儲並創建|添加新的會話存儲。不知道在哪裏。

回答

1

我不認爲有一種方法可以在應用程序啓動後「解除」已安裝的中間件,但是您可以做的是編寫自己的會話存儲區(一個非常簡單的api可以遵循)來處理切換兩個(或更多)商店。

+0

嗯,這是一個想法。但聽起來像是一個全新的項目! (我暗自希望更簡單的解決方案..哈) – rinchik

+1

這真的沒有那麼糟糕,我之前做過一個自定義會話存儲。當你需要切換時,最難的部分是決定使用哪一個以及如何維護某個人的會話。很可能,您最終會將所有會話存儲在每個列出的提供商中,然後在其中任何一個響應時再次提供。只需將它保持同步將是您的代碼的主要任務。 – Paul

+1

好吧。這就說得通了。會去那。謝謝! – rinchik