Redis Store + Express Session



我注意到一些项目将使用redis存储和表达会话来保存用户会话

例如:

const session = require('express-session');
var redis = require("redis");
var redisStore = require('connect-redis')(session);
var client  = redis.createClient();
var app = express();
app.use(session({
secret: 'scret',
store: new redisStore({
host: '127.0.0.1', 
port: 6379, 
client: client,
ttl : 7200
}),
saveUninitialized: true,
// rolling: false,
resave: true,
cookie: {
maxAge: 2 * 60 * 60 * 1000
} 
}));

我们需要同时使用这两个会话管理功能的原因是什么?

express-session可以用不同的"商店";以保存会话数据。

MemoryStore随程序包express-session提供。

express-session的作者对此默认存储发出警告。

警告默认的服务器端会话存储MemoryStore是故意不是为生产环境设计的。它会泄漏存储器在大多数条件下不按比例通过单个过程,用于调试和开发。

Redis是兼容的会话存储之一,在这种情况下;作为替换";默认存储的。

最新更新