如何在不重新启动应用程序的情况下为所有用户清除快速会话?

我正在使用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] 

我也configuration了会话到期时间,它必须清除所有的会话值。

  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), }));` 

但会话值似乎仍然持续超过到期时间。 虽然这些是rest服务,并没有涉及到这个cookie,我使用用户的ID代替。

根据我的理解,这个会议应该在超过有效期后明确,但事实并非如此。

问题1:如何在不重新启动服务器的情况下随时清除完整的会话值? 问题2:为什么到期时间不按上面的代码工作?

难道我做错了什么 ?

请帮忙

提前致谢

我认为cookie.maxAge用于定义不活动时间。 所以会议将在24小时不活动之后被销毁。

如果你想破坏用户会话,你可以使用这样的一些思考:

 req.session.destroy(function (err) { if (err) { // Handle error } else { // Session destroyed ! } }); 

希望能帮助到你 !