适用于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或一个对象。
- Mongodb更新语句:我如何更新json对象?
- REST API不会根据标头中的Passport JWT令牌更改用户?
- Angular JS和Express JS路由不能正常工作
- node – mysql查询,在完成原始查询之前几分钟后需要几分钟重复
- PassportJs的passport.session()与file upload冲突 – 不会写入文件
- 启动服务器时找不到模块“express-stormpath”
- 在Express-JS中查找“Unexpected token;”错误的原因/行
- NodeJS / Express MVC模式中的REST数据源
- 如何使用Express.js&Backbone.js将XML webservice输出转换为Json