【问题标题】:express-mysql-session "expires" value of session is messed up会话的express-mysql-session“过期”值搞砸了
【发布时间】:2020-05-30 14:25:30
【问题描述】:

我使用 express-mysql-session 作为服务器的会话存储,每次检查数据库时,我都会看到所有会话都有一个“过期”值,该值可以追溯到 70 秒(以毫秒为单位)。

即使我将 checkExpirationInterval 设置为 300000,也不会清除任何会话。

var sessionStore = new MySQLStore({
host: process.env.DB_HOST,
port: 3306,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_DATABASE,
clearExpired: true,
checkExpirationInterval: 300000,
expiration: 1000 })

有什么我可以做的吗?

【问题讨论】:

    标签: mysql express session


    【解决方案1】:

    我已尝试重新创建您的确切问题:

    A.以下是我的 mysql-store 选项:

    var options = {
        host: 'localhost',
        port: 3306,
        user: 'root',
        password: 'password',
        database: 'myDB',
        clearExpired: true,
        checkExpirationInterval: 30000, //30 seconds
        expiration: 1000
    }
    var sessionStore = new MySqlStore(options);
    

    B.这是我在应用中挂载会话的位置:

    app.use(session({
        key: 'this_is_my_key',
        secret: 'it_is_a_secret',
        store: sessionStore,
        resave: false,
        saveUninitialized: false
    }))
    

    结论 有了以上信息,我的会话会在 30000 毫秒或 30 秒内从我的 sql 数据库中删除过期会话。

    【讨论】:

      猜你喜欢
      • 2017-05-30
      • 1970-01-01
      • 2011-04-25
      • 2021-06-06
      • 2021-09-17
      • 2019-01-27
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      相关资源
      最近更新 更多