chill117 / express-mysql-session

A MySQL session store for the express framework in node
MIT License
313 stars 108 forks source link

Sessions Expireds don´t drop of BD mysql #138

Closed DaveARG closed 11 months ago

DaveARG commented 2 years ago
const mysql = require('mysql');
const session = require('express-session');
const mysqlStore = require('express-mysql-session')(session);
const pool_session  = mysql.createPool({
    connectionLimit : 100,
    host            : process.env.DB_HOST,
    user            : process.env.DB_USER,
    password        : process.env.DB_PASSWORD,
    database        : process.env.DB_SESSIONS,
    clearExpired: true,
    expiration: 1000*60*2,
    checkExpirationInterval: 1000*60*2//*60*24
});
const sessionStore = new mysqlStore({}, pool_session);
app.use(session({
    name: process.env.SESS_NAME,
    store: sessionStore,
    secret: process.env.SECRET_SESSION,
    cookie: {
        sameSite: true,
        maxAge: 1000*60*2//*60*24
    },
    resave: true,
    saveUninitialized: false
}));
chill117 commented 1 year ago

The checkExpirationInterval option is how often the module will clear expired sessions from the sessions database table. So you should set it to a lower value - e.g. 900000 milliseconds (15 minutes).