session-file-store删除过期的会话文件

时间:2019-03-27 03:45:30

标签: node.js express session-cookies express-session

我正在使用会话文件存储来维护Node-Express应用程序中的会话。

session-file-store为每个会话生成一个新文件。随着时间的推移,这将在服务器上创建许多文件。

在会话期满后,是否有任何选项/方法可以自动删除文件?

这是我为此使用的代码的一部分-

.
.
const session = require('express-session');
const FileStore = require('session-file-store')(session);
.
.
app.use(session({
    genid: (req) => {
        return uuid() // use UUIDs for session IDs
    },
    store: new FileStore(),
    secret: MY_SECRET,
    resave: false,
    saveUninitialized: true,
    cookie: { maxAge : SESSION_COOKIE_TIMEOUT }
}));
.
.

这是由会话文件存储生成的示例文件-

{"cookie":{"originalMaxAge":59999,"expires":"2019-03-27T03:28:21.597Z","httpOnly":true,"path":"/"},"__lastAccess":1553657241598}

1 个答案:

答案 0 :(得分:0)

reapInterval将清除服务器中所有过期的Cookie,例如将清除设置为每10秒:

var fileStoreOptions = {
  path: "./sessions",
  reapInterval: 10,
};```