【发布时间】:2014-07-30 23:45:27
【问题描述】:
我编写了一个简单的 node/express/redis 应用程序,它在 redis 中存储了一个自定义会话 ID。有用。但是作为redis的新手,我只能在redis中找到sessionID,而不是jsessionid。
var sessionStore = new RedisStore({
host: redisHost,
port: redisPort,
db: redisDB
});
app.use(session({
name: 'jsessionid', // access using req.cookies['jsessionid']
secret: 'keyboard cat',
store: sessionStore
}));
app.get('/awesome', function(req, res) {
if(req.session.lastPage) {
res.write('Last page was: ' + req.session.lastPage + '. And session id was: ' + req.sessionID + '. And jsessionid is ' + req.cookies['jsessionid'] + '. ');
}
req.session.lastPage = '/awesome';
res.end('Your Awesome.');
});
所以,当我执行http://localhost:3000/awesome 并重新加载它时,它会按预期打印出以下内容:
“最后一页是:/awesome。会话 id 是:kOnhpfyFQlil76eVXIbIBJTUNU7GzhDG。jsessionid 是 s:kOnhpfyFQlil76eVXIbIBJTUNU7GzhDG.KF3B6TLxMl084VI2rvYw+hz4u/wQr5IL7n+//gnH9mQ。太棒了。”
我可以通过以下方式在redis-cli 中找到 sessionID:
127.0.0.1:6379> select 2
OK
127.0.0.1:6379[2]> keys *
1) "sess:kOnhpfyFQlil76eVXIbIBJTUNU7GzhDG"
但我无法在 redis 中找到 jsessionid。我认为它应该存在于某个地方。请帮忙。
【问题讨论】:
标签: node.js session express redis