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

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


Using cookie-session instead of express-session solved this issue for me.

You store the session on the client and not on the server with cookies.

Simply:

  1. Install it with npm install cookie-session
  2. Change

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

    to var session = require('cookie-session');


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});


It's all about storing sessions, you should add a storing system that store sessions into your database. This help your app to manage sessions.

For example, in mongodb you can use connect-mongo, you should found a store package and for other databases.

https://www.npmjs.com/package/connect-mongo

const session = require('express-session');const MongoStore = require('connect-mongo')(session);app.use(session({    secret: 'foo',    store: new MongoStore(options)}));