适用于Express + PostgreSQL的最佳会话存储中间件

我正在寻找生产应用程序的sessionstore,因为我有错误消息:

警告:connect.session()MemoryStore不是为生产环境devise的,因为它会泄漏内存,并且不会扩展到单个进程

我的代码:

var express = require('express'); var ECT = require('ect'); var cookieParser = require('cookie-parser'); var compress = require('compression'); var session = require('express-session'); var bodyParser = require('body-parser'); var _ = require('lodash'); var passport = require('passport'); var expressValidator = require('express-validator'); var connectAssets = require('connect-assets'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(expressValidator()); app.use(methodOverride()); app.use(cookieParser()); app.use(session({ resave: true, saveUninitialized: true, secret: secrets.sessionSecret, })); app.use(passport.initialize()); app.use(passport.session()); var app = module.exports = express(); var server = require('http').Server(app); var io = require('socket.io')(server); server.listen(app.get('port'), function() { console.log('Express server listening on port %d in %s mode', app.get('port'), app.get('env')); }); module.exports = app; 

我不知道什么是我的生产应用程序的最佳解决scheme。 我使用PostgreSQL作为ORM的后缀。 我会非常感激任何意见。

如果你只需要存储会话,你可以使用redis或者mongoDB,如果你想持久化。

我使用connect-pg-simple 。

用提供的table.sql创build一个会话表,并传递一个连接string或一个对象。