web-dev-qa-db-ja.com

サーバーの再起動時にExpress4セッションが持続しない

Express4アプリをセットアップしてセッションを行います。

// Sessions
app.use(cookieParser());
app.use(session({ secret: "some-secret" }));

// Signup
app.post("/signup", function (req, res) {
    create_user(req.body.user, function (err, user_id) {
        req.session.user_id = user_id;
        res.redirect("/admin");
    });
});

フォームを送信すると、user_idがreq.sessionに保存されます。ただし、サーバーを再起動すると、セッションが終了します。

なぜそれが持続しないのですか?いくつかの構成が欠落していますか?

21
eldosoa

エクスプレスセッションのデフォルトのセッションストアはMemoryStoreで、名前が示すように、セッションはメモリにのみ保存されます。永続性が必要な場合は、Expressで利用できる多くのセッションストアがあります。いくつかの例:

49
mscdex