Search code examples
javascriptnode.jssessioncookiesmemory-leaks

Warning: connect.session() MemoryStore is not designed for a production environment, as it will leak memory, and will not scale past a single process


Good day, everyone. Here is my code:

var express = require("express");
var session = require("express-session");

var app = express();
app.set("trust proxy", 1);

app.use(session({
    secret: "secret",
    saveUninitialized: true,
    resave: false,
    maxAge: 1000 * 60 * 15,
    cookie: {
        secure: true
    }
}));

This code always returns the following message in my log:

Warning: connect.session() MemoryStore is not designed for a production environment, as it will leak memory, and will not scale past a single process.

I tried googling it, but I don’t understand some of the tutorials.

Can anyone assist me with this?


Solution

  • I hope this would help to someone who's struggling the same problem as mine . Just dug it by myself .

    //-momery unleaked---------
    app.set('trust proxy', 1);
    
    app.use(session({
    cookie:{
        secure: true,
        maxAge:60000
           },
    store: new RedisStore(),
    secret: 'secret',
    saveUninitialized: true,
    resave: false
    }));
    
    app.use(function(req,res,next){
    if(!req.session){
        return next(new Error('Oh no')) //handle error
    }
    next() //otherwise continue
    });