【发布时间】:2017-06-06 13:11:26
【问题描述】:
我正在使用 nodejs express 框架开发 REST 服务,并将用户特定的数据保存在会话中,用户的 id 作为识别用户数据的关键。
这是我用来存储用户特定数据的代码:
let session = require("express-session");
let FileStore = require("session-file-store")(session);
//For setting up the data into session
session[userId]={name:xyz, age:22}
//For getting the data
session[userId]
我还为会话配置了过期时间,它必须清除所有会话值。
webserver.use(session({
cookie: {
maxAge: 60 * 1000 // 24 hours
// maxAge: 24 * 60 * 60 * 1000 // 24 hours
},
key: "sid",
resave: false,
saveUninitialized: false,
secret: "keyboard cat",
store: new FileStore(storageOptions),
}));`
但会话值似乎在超过过期时间后仍然存在。虽然这些是休息服务,并且不涉及任何 cookie,但我使用的是用户 ID。
根据我的理解,这个会话应该在超过过期时间后被清除,但事实并非如此。
问题 1:如何在不重新启动服务器的情况下随时清除完整的会话值? 问题 2:为什么到期时间不能按照上面的代码工作?
我是不是做错了什么?
请帮忙
提前致谢
【问题讨论】:
标签: javascript node.js session express storage