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

标签 javascript node.js session express storage

我正在使用 nodejs express 框架开发 REST 服务,并将用户特定数据保存在 session 中,并将用户 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]

我还给session配置了过期时间,必须清空所有session的值。

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

但 session 值似乎在超过到期时间后仍然存在。尽管这些是休息服务并且其中不涉及任何 cookie,但我使用的是用户 ID。

根据我的理解,这个 session 应该在超过到期时间后被清除,但事实并非如此。

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

我做错了什么吗?

请帮忙

提前致谢

最佳答案

我认为 cookie.maxAge 用于定义不活动时间。因此 session 将在 24 小时不活动后被销毁。

如果你想销毁用户 session ,你可以使用这样的方法:

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

希望对您有所帮助!

关于javascript - 如何在不重新启动应用程序的情况下清除所有用户的快速 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44390956/

相关文章:

javascript - rails/jquery/ajax : done callback is not executing

javascript - 从JS对象创建有序JSON字符串

javascript - 如何在 Mocha 测试中要求相同的文件

c# - 来自非浏览器请求的 asp.net session 状态

python - 使用 Google App Engine 在 Django Python 中处理 session

php - php session 对于 Multi-Tenancy 系统是否足够安全

javascript - 使用 span 标签时摆脱 p 标签内的空间

javascript高亮显示多行

node.js - 使用 node.js 发出 HTTP 请求会引发 EAFNOSUPPORT

node.js - 在 Elastic Beanstalk 上通过 .ebextensions 安装 git