0

Node.js エクスプレス セッションは、次のコードで完全に機能します。

var express = require("express");
var app = express();
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
    cookie: {maxAge: pembapp.dayInMilliseconds * 180},
    secret: 'mysecret',
    key: 'mykey'
}));

問題なく req.session.whatever にアクセスできます。

サーバーの再起動が必要な場合に備えて、セッション データを保存するために redis を使用したいので、コードは次のようになります。

var express = require("express");
var app = express();
var RedisStore = require('connect-redis')(express);
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
    cookie: {maxAge: pembapp.dayInMilliseconds * 180},
    secret: 'mysecret',
    key: 'mykey',
    store: new RedisStore({
        host: 'localhost',
        port: 6379,
        db: 2,
        prefix: 'myprefix',
        pass: 'mypasswd'
    })
}));

redis コードを追加すると、req.session が未定義になりました! 私の人生でこれを理解することはできません。セッションの redis ストアを追加すると、req.session が「消える」のはなぜですか?

4

2 に答える 2

0

Redis データベースに接続していますか?

于 2013-11-01T20:10:08.823 に答える