“快速mysql会话”;“到期”;会话的值被搞乱了

“快速mysql会话”;“到期”;会话的值被搞乱了,mysql,express,session,Mysql,Express,Session,我使用expressmysql会话作为服务器的会话存储,每次检查数据库时,我都会看到所有会话都有一个“expires”值,可以追溯到70年代(以毫秒为单位) 即使我将checkExpirationInterval设置为300000,也不会清除任何会话 var sessionStore = new MySQLStore({ host: process.env.DB_HOST, port: 3306, user: process.env.DB_USER, password: process.env.

我使用expressmysql会话作为服务器的会话存储,每次检查数据库时,我都会看到所有会话都有一个“expires”值,可以追溯到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 })

有什么我可以做的吗?

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

A.以下是我的、我的sql存储选项:

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);
app.use(session({
    key: 'this_is_my_key',
    secret: 'it_is_a_secret',
    store: sessionStore,
    resave: false,
    saveUninitialized: false
}))
B.这里是我在应用程序中挂载会话的地方:

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);
app.use(session({
    key: 'this_is_my_key',
    secret: 'it_is_a_secret',
    store: sessionStore,
    resave: false,
    saveUninitialized: false
}))
结论 根据以上信息,我的会话将在30000毫秒或30秒内从我的sql数据库中删除过期的会话