我在尋找sessionstore生產應用程序,因爲我有錯誤消息:最佳會話存儲中間件快遞+ PostgreSQL的
警告:connect.session()MemoryStore的不是專爲 生產環境,這將導致內存泄漏,並不會規模 過去單一的過程
我的代碼:
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;
我不知道什麼是我的生產應用程序的最佳解決方案。我使用PostgreSQL作爲ORM使用了sequelize。 我會非常感激任何意見。
我不想使用另一個數據庫....在PostgreSQL中存儲會話是不好主意?我看到在postgres的商店會話通常是個壞主意...... – Makromat
這取決於。會話的生命週期有限,所以redis可以用TTL來處理這個事件,並自動刪除過期的舊會話。但是如果你想存儲和保存所有的會話,PostGreSQL可能是不錯的選擇。 – Sachacr